J'ai l'idiome suivant:

if(typeof prop != 'null') {
}

J'avais l'impression que si prop est null, l'opérateur != convertira l'objet nul en la chaîne 'null' pour comparaison?

Dans le cas ci-dessus, lorsque prop est nul, l'expression est évaluée comme true. Pourquoi cet idiome fonctionne-t-il pour undefined? N'est-ce pas indéfini un objet? Tout comme nul est un objet?

0
wulfgarpro 7 oct. 2011 à 05:46

3 réponses

Meilleure réponse

Le type d'un objet nul est toujours un "objet". Si vous alertez (typeof prop), vous verrez que c'est un objet.

Vous souhaitez vérifier une valeur nulle.

if(prop == null) {
    alert(typeof prop);
}
3
Jason Dean 7 oct. 2011 à 01:51

Utilisez Firebug ou Dom Inspector pour voir quel type d'accessoire est

console.log(typeof prop);

Et vous pouvez peut-être essayer aussi

if(prop != null) {

}

Ou

if(typeof prop != undefined) {
}

Dépend de ce que vous essayez vraiment de faire /

0
Ibu 7 oct. 2011 à 01:50

Je crois que vous avez juste besoin de supprimer les citations de 'null'

0
Sherwin Flight 7 oct. 2011 à 01:58
7682302