javascript - vacio - ¿Cómo comprobar si una variable no es nula?
undefined javascript (6)
Sé que a continuación se muestran las dos formas en JavaScript para verificar si una variable no es null
, pero estoy confundido sobre cuál es la mejor práctica a usar.
Deberia hacer:
if (myVar) {...}
o
if (myVar !== null) {...}
Aquí es cómo puede probar si una variable no es NULL:
if (myVar !== null) {...}
el bloque se ejecutará si myVar no es nulo ... se ejecutará si myVar no está definido o es falso o 0
o NaN
o cualquier otra cosa ...
Hay otro escenario posible que acabo de encontrar.
Hice una llamada ajax y recuperé los datos como nulos, en un formato de cadena. Tuve que comprobarlo así:
if(value != ''null''){}
Entonces, null era una cadena que decía "null" en lugar de ser realmente null.
EDITAR: Debe entenderse que no estoy vendiendo esto como la forma en que debe hacerse. Tuve un escenario donde esta era la única manera en que se podía hacer. No estoy seguro de por qué ... quizás el tipo que escribió el back-end presentaba los datos incorrectamente, pero a pesar de eso, esto es la vida real. Es frustrante ver esto a favor de alguien que entiende a la baja que entiende que no está del todo bien, y luego de que alguien lo respalda, realmente ayuda.
Las dos declaraciones condicionales que enumera aquí no son mejores que una de la otra. Su uso depende de la situación. Tienes un error tipográfico por cierto en el segundo ejemplo. Debe haber solo un signo de igual después del signo de exclamación.
El primer ejemplo determina si el valor en myVar es verdadero y ejecuta el código dentro de {...}
El segundo ejemplo evalúa si myVar no es igual a nulo y si ese caso es cierto, ejecutará su código dentro de la {...}
Sugiero echar un vistazo a las declaraciones condicionales para más técnicas. Una vez que esté familiarizado con ellos, puede decidir cuándo los necesita.
Lea en esta publicación: http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
Tiene algunos buenos consejos para JavaScript en general, pero una cosa que sí menciona es que debe verificar si hay null como:
if(myvar) { }
También menciona lo que se considera ''falsey'' que quizás no sepas.
No son equivalentes. El primero ejecutará el bloque después de la instrucción if si myVar
es veraz (es decir, se evalúa como true
en un condicional), mientras que el segundo ejecutará el bloque si myVar
tiene un valor distinto de null
.
Los únicos valores que no son veraces en JavaScript son los siguientes (también conocidos como valores falsos ):
-
null
-
undefined
-
0
-
""
(la cadena vacía) -
false
-
NaN
si myVar
es nulo, si el bloque no se ejecuta de otra manera, se ejecutará.
if (myVar != ''null'') {...}