Tengo un fragmento de código que comprueba la existencia de una variable, usando una instrucción if como en el siguiente ejemplo. Necesito hacer una cosa si la var se establece, una cosa diferente si no es así. En un determinado caso de prueba, la var necesitaba ser puesto a 0, pero eso es lo mismo es tener una var desactivada en JS, al parecer:JS: compruebe la existencia de una var que es igual a 0
var toMatch;
toMatch = 0;
if (!toMatch) {
document.write("no");
} else {
document.write(toMatch);
}
// html is "no"
Así que mi problema es, ¿cómo puedo prueba para una var si su valor es legítimamente cero. Debo señalar, que en mi función los valores posibles que se aprobarán son 0-40 +.
En el pasado, he utilizado un trabajo como establecer el valor inicial en un número lo suficientemente alto como para que no sea transferido a la función, pero eso me parece algo extraño. Hay una mejor manera de hacerlo?
Tenga en cuenta que 'undefined' no es una palabra clave y puede ser teóricamente sobrescrito Recomendamos usar 'if (typeof (toMatch)! ==" undefined ")' o cerrar el código sobre una función anónima con un parámetro extra para 'undefined'. –
Es posible que también desee mencionar que para verificar la existencia (no necesariamente un valor específico) podría hacer: 'if (typeof toMatch! == 'undefined') {};' –
También puede usar '(void 0)' en lugar de 'undefined' si eres realmente paranoico :) –