2011-03-23 21 views
7

Duplicar posibles:
What is the !! operator in JavaScript?javascript: ¿Qué es NO? (!! operador)

¿Qué es un no no en javascript que he visto unas cuantas veces :)

function foo(){ 
    return !!(window.history); 
} 
+2

duplicado exacto: http://stackoverflow.com/questions/784929/what- is-the-operator-in-javascript – ig0774

+1

Es un duplicado, pero esa pregunta duplicada apenas menciona por qué se usa. En su caso, es [la respuesta final] (http://stackoverflow.com/questions/784929/what-is-the-operator-in-javascript/4339463#4339463): es una expresión idiomática para verificar "está definido". – Rup

+0

@rup Estoy de acuerdo con las respuestas allí, no entendí la mitad de las respuestas y sus BS técnicas, deberían ser más amigables con su respuesta y no asumir que todos están en su nivel :) especialmente cuando alguien pregunta :) – Val

Respuesta

11

creo que se utiliza para hacer cumplir tipos booleanos ...

por ejemplo

if("true" == true){ 
    alert("1"); 
}else{ 
    if(!!"true" == true){ 
     alert("2"); 
    } 
} 

alertas 2 No 1

+1

Esto es horrible. Pruebe 'if (!!" false "== true) {alert (" false "); } 'y ver qué pasa. – Randolpho

+9

No dije que deberías usarlo – sharpner

3

Creo solía [no tan] arrojar valor implícitamente al tipo booleano