Quiero proteger mis funciones contra valores nulos y solo continuar si hay un valor "definido".¿Cómo se implementa una cláusula de guardia en JavaScript?
Después de lookingaround las soluciones sugirieron doblar igual a indefinido: if (something == undefined)
. El problema con esta solución es que puede declarar una variable indefinida.
Así que mi solución actual es comprobar nulo if(something == null)
que implícitamente comprueba si no está definido. Y si quiero ver los valores falsy adicionales verifico if(something)
.
Consultad las pruebas aquí: http://jsfiddle.net/AV47T/2/
Ahora me estoy perdiendo algo aquí?
Matthias
¿Y cómo se protegería de nulos e indefinidos? ¡Y nada más! – luebken
Debería comprobar explícitamente esos dos casos, por ejemplo, '(x! == undefined && x! == null)'. Siempre que marque null/undefined, asegúrese de usar el '!== 'operador (identidad) y no el operador'! = '(igualdad). –
y por qué no 'if (x == null)' funciona como protección contra indefinido y nulo? – luebken