Maison  >  Article  >  interface Web  >  Une brève discussion sur null et undefined en javascript

Une brève discussion sur null et undefined en javascript

零下一度
零下一度original
2017-06-26 09:11:541620parcourir

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

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

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!

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