Maison >interface Web >js tutoriel >Analyse de la différence entre Null et Undefined dans les compétences JavaScript_javascript

Analyse de la différence entre Null et Undefined dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 15:52:111286parcourir

Il existe deux types primitifs en JavaScript : Null et Undefined. Ces deux types rendent souvent les développeurs JavaScript confus : quand est-il nul et quand est-il non défini ?

Le type Indéfini n'a qu'une seule valeur, qui est indéfinie. Lorsqu'une variable déclarée n'a pas été initialisée, la valeur par défaut de la variable n'est pas définie.

Le type Null n'a également qu'une seule valeur, qui est nulle. Null est utilisé pour représenter un objet qui n'existe pas encore. Il est souvent utilisé pour indiquer qu'une fonction tente de renvoyer un objet inexistant.

Copier le code Le code est le suivant :

var oValeur
alert(oValue == non défini); //sortie "true"

Ce code s'affiche comme vrai, ce qui signifie que la valeur de oVlaue n'est pas définie car nous ne l'avons pas initialisé.

Copier le code Le code est le suivant :

alert(null == document.getElementById('notExistElement'));
Lorsque le nœud DOM avec l'identifiant "notExistElement" n'existe pas sur la page, ce code affiche "true" car nous essayons d'obtenir un objet qui n'existe pas.

Copier le code Le code est le suivant :
alert (type de non défini); // sortie "non défini"
alert(typeof null); //sortie "objet"

La première ligne de code est facile à comprendre, le type d'indéfini est Indéfini ; la deuxième ligne de code rend les gens confus, pourquoi le type d'indéfini est-il encore un objet ? En fait, il s’agissait d’une erreur lors de l’implémentation initiale de JavaScript, qui a ensuite été adoptée par ECMAScript. Aujourd'hui, nous pouvons expliquer que null est un espace réservé pour un objet inexistant, mais nous devons toujours prêter attention à cette fonctionnalité lors du codage.


Copier le code Le code est le suivant :
alert(null == non défini); //sortie "true"

ECMAScript considère que non défini est dérivé de null, il les définit donc comme égaux. Cependant, si dans certains cas il faut distinguer ces deux valeurs, que faire ? Les deux méthodes suivantes peuvent être utilisées.

Copier le code Le code est le suivant :
alert(null === non défini); //sortie "false"
alert(typeof null == typeof undefined); //sortie "false"

L'utilisation de la méthode typeof a déjà été mentionnée. Les types de null et undefined sont différents, donc "false" est affiché. Et === représente l'égalité absolue, ici null === undefined renvoie false.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn