什么`!!〜'在javascript中意味着什么?

时间:2012-05-14 11:18:59

标签: javascript operators mongoose bitwise-operators comparison-operators

  

可能重复:
  What does tilde (~) preceding jQuery object do?

在阅读时,我在代码中发现了一个奇怪的!!~https://github.com/LearnBoost/mongoose/blob/master/lib/document.js#L678

Document.prototype.isModified = function (path) {
  return !!~this.modifiedPaths.indexOf(path);
};

我读过What is the !! (not not) operator in JavaScript?How to: The ~ operator?;为什么作者在这里使用!!~

我试过了:

!!~1  // -> true
!!~0  // -> true
!!~-1 // -> false
!!~-2 // -> true

当数字为false时,似乎只有-1。这样对吗?为什么不检查号码不是-1还是>=0

0 个答案:

没有答案