45

重複の可能性:
jQuery オブジェクトの前にあるチルダ (~) は何をしますか?

!!~読んでいるときにコードに奇妙なことが見つかりました: 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

4

0 に答える 0