Подтвердить что ты не робот

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

4b9b3361