!!~
読んでいるときにコードに奇妙なことが見つかりました: https://github.com/LearnBoost/mongoose/blob/master/lib/document.js#L678
Document.prototype.isModified = function (path) {
return !!~this.modifiedPaths.indexOf(path);
};
私はそれを読みました!JavaScript の (そうではない) 演算子? および方法: ~ 演算子? ; 著者はなぜ!!~
ここを使用したのですか?
私は試した:
!!~1 // -> true
!!~0 // -> true
!!~-1 // -> false
!!~-2 // -> true
false
番号が の場合のみのようです-1
。そうですか?番号がまたはではないことを確認してみません-1
か>=0
?