Возможный дубликат:
Что делает объект тильды (~), предшествующий объекту 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
?