Возможный дубликат:
Что !! (не нет) оператор в JavaScript?
Что это !! оператор (двойной восклицательный знак) означает в JavaScript?
Итак, я отлаживал некоторый код и наткнулся на это:
var foo.bar = 0; // this is actually passed from another function, adding it for context
function(foo) {
    var someVar = !!foo.bar;
    if (foo.bar) {
      // ..stuff happens
    } else {
      // .. something else happens
    }
}
 Хорошо, мои вопросы в чем смысл !! ? Все, что делает, это делает 0 === false.
-  Есть ли польза от использования этого по сравнению с boolean(foo.bar)?
-  foo.bar может быть оценен в if как есть, потому что 0 === falseуже, так зачем проходить преобразование? (someVar больше нигде не используется)
