Siempre pensé que una sentencia if esencialmente comparaba su argumento similar a == true
. Sin embargo, el siguiente experimento en Firebug confirmó mis peores temores después de escribir Javascript durante 15 años sigo sin tener ni idea de WTF está pasando:¿Cuál es la semántica de Javascripts If Statement
>>> " " == true
false
>>> if(" ") console.log("wtf")
wtf
Mi visión del mundo está en ruinas aquí. Podría hacer algunos experimentos para obtener más información, pero incluso así estaría perdiendo el sueño por temor a los caprichos del navegador. ¿Esto está en alguna especificación? ¿Es coherente entre navegadores? ¿Alguna vez dominaré javascript?
extraño, tengo curiosidad por ver las respuestas – theraccoonbear