javascript - attribute - title html
¡Qué hace la doble exclamación! operador significa? (1)
Posible duplicado:
Cuál es el !! operador en JavaScript?
Que hace !! (doble signo de exclamación) significa?
Estoy revisando un código JavaScript personalizado en mi lugar de trabajo y no puedo entender el siguiente constructo.
var myThemeKey = (!!$(''row'') && $(''row'').hasClassName(''green-theme'')) ? ''green'' : ''white'';
Entiendo todo en la línea de arriba excepto !!
operador. Supongo que es un operador NOT
y NOT
de NOT
es el valor original, pero ¿por qué alguien haría un NOT
de NOT
?
¿Puede alguien ayudarme, por favor, a entender lo que está sucediendo en la línea de código anterior?
El !!
asegura que el tipo resultante sea booleano (verdadero o falso).
javascript:alert("foo")
-> foo
javascript:alert(!"foo")
-> false
javascript:alert(!!"foo")
-> true
javascript:alert(!!null)
-> false
Hacen esto para asegurarse de que $(''row'')
no sea nulo.
Es más corto de escribir que $(''row'') != null ? true : false
$(''row'') != null ? true : false