Что значит `!!~` в 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?

0 ответов

Другие вопросы по тегам