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