Maison >interface Web >js tutoriel >Une brève discussion sur null et undefined en javascript
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!