Возможный дубликат:
Что !! (не нет) оператор в 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 больше нигде не используется)