Duplicar posible:
What is the !! (not not) operator in JavaScript?
What does the !! operator (double exclamation point) mean in JavaScript?¿Signo de exclamación doble?
así que estaba debuging algo de código y corrieron a través de este:
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
}
}
Está bien mis preguntas es ¿cuál es el punto de ¿? Todo lo que está haciendo es hacer el 0 === false
.
¿Hay alguna ventaja de utilizar que en comparación con
boolean(foo.bar)
?foo.bar se puede evaluar en un si como es porque
0 === false
ya, entonces, ¿por qué pasar por la conversión? (Somevar no se reutiliza en cualquier otro lugar)
Bueno, sé lo que quiero Solo quiero saber cuál es el beneficio que no se explica en su pregunta vinculada. – jpalladino84
'0 == falso' no' 0 === falso' el triple igual previene el intento implícito de lanzar. – Andrew