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