JS: vérifier l'existence d'une var qui est égal à 0

J'ai un morceau de code qui teste l'existence d'une variable, à l'aide d'une instruction si comme dans l'exemple ci-dessous. J'ai besoin de faire une chose si la var est définie, une autre chose si elle n'est pas. Dans un certain cas de test, le var nécessaire pour être fixé à 0, mais c'est la même chose est d'avoir un unset var en JS, apparemment:

var toMatch;
toMatch = 0;
if (!toMatch) {
    document.write("no");
} else {
    document.write(toMatch);
}

//html is "no"

jsFiddle

Donc mon problème est, comment puis-je tester pour un var si sa valeur est légitimement zéro. Je tiens à souligner, que dans ma fonction de valeurs possibles pour être transmis sont 0-40+.

Dans le passé, j'ai utilisé un travail autour des paramètres tels que la valeur initiale d'un nombre assez élevé qu'il n'est pas susceptible d'être passés à la fonction, mais qui semble hackey pour moi. Est-il un meilleur moyen de le faire?

également intéressant de noter que vous devez vérifier comment cette var est créé, si c'est un utilisateur du formulaire soumis alors si(toMatch == "0") peut fonctionner, c'était mon cas lorsque toutes les réponses acceptées gardé à défaut

OriginalL'auteur inorganik | 2012-02-07