Maison > interface Web > js tutoriel > le corps du texte

Une brève discussion sur null et undefined en javascript

零下一度
Libérer: 2017-06-26 09:11:54
original
1623 Les gens l'ont consulté

Tant que nous parlons des variables et des types de données de js, null et indéfini sont indissociables. Ces deux frères sont le fondement important de js. D'innombrables étudiants ont utilisé des loupes pour les étudier sous plusieurs angles. et par lots, ces deux frères sont vraiment populaires. ^-^

js c'est vraiment bizarre. Il ne suffit pas d'avoir null, mais aussi de créer un indéfini.

Bien qu'il ait été critiqué, tel est le design.

En c# et java, null signifie vide et aucune mémoire n'est allouée.

Le résultat de l'utilisation de Number(null) pour null dans js est 0. Qu'est-ce que cela signifie ? Cela signifie qu'il n'est pas vide, c'est juste une valeur nulle, il n'a aucune valeur et son type de données ? est "objet".

Afin de représenter le vide, le concepteur a créé un indéfini, qui a un type de données distinct, qui est "indéfini".

Le résultat de l'utilisation de Number(undefined) est NaN, et le résultat de la conversion peut également atteindre l'objectif de conception.

En raison de ce résultat de conception, la conversion du type de données dans l'expression joue un rôle clé.

Une variable non définie ou une variable définie mais à laquelle aucune valeur n'est affectée signifie vide, ce qui est indéfini.

undefined est davantage utilisé par javascript lui-même.

Par exemple, si un codeur souhaite supprimer la propriété d'un objet, il n'est pas nécessaire d'attribuer la propriété à undefined, car alors la propriété est toujours là. Utilisez hasOwnProperty pour vérifier que la propriété existe toujours, et il apparaîtra à certains endroits où la logique doit être jugée. Le problème est que si vous souhaitez supprimer un attribut, précédez la suppression.

var o1={p1:'v1',p2:'v2'};
o1.p2=undefined;
o1.hasOwnProperty('p2'); //true
Copier après la connexion

Pour supprimer des éléments du tableau, afin de n'avoir aucun effet secondaire, utilisez splice.

Les codeurs doivent réfléchir attentivement s'ils utilisent undefined pour attribuer des valeurs.

Pour les programmeurs, il est plus important d'utiliser null. Vous pouvez attribuer une valeur nulle à une variable, la déconnecter de l'instance d'objet, assurer le garbage collection et se préparer au problème. Les symboles variables sont utilisés plus tard.

Il y a des pièges lorsqu'on compare nul et indéfini

null == undefined //truenull == false //falseundefined == false //false
Copier après la connexion

Bien que bizarre, c'est le résultat, c'est le design.

Vous pouvez consulter les définitions pertinentes de l'ECMA-262, lien de définition de règle 1, lien 2.

FIN

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!