Différences entre undefined et Null

En JavaScript, les variables sont comme une télécommande qui contrôle réellement l'objet. Si la télécommande n'est pas programmée pour contrôler l'un des objets, elle peut être identifiée comme non définie. En revanche, si la télécommande est programmée mais pour ne rien faire, elle peut être affectée à Null. Null est une valeur d'affectation, il peut être affecté à une variable en tant que représentation d'aucune valeur. Undefined est un type lui-même tandis que null est un objet. Undefined est donc un type spécial alors que Null est un objet en JavaScript.

Sous l'extrait de code JavaScript, la sortie n'est pas définie.

var x;

console.log (x);

ð non défini

Si quelqu'un vérifie le type de null, il afficherait la sortie en tant qu '«objet», comme indiqué dans l'extrait de code JavaScript ci-dessous:

console.log (typeof null);

ð objet

Donc, nous pouvons dire que Undefined signifie une variable qui a été déclarée, mais la valeur de la variable n'a pas encore été définie. Undefined est de type «undefined», qui peut être vérifié à partir de l'extrait de code JavaScript ci-dessous:

test var;

Console.log (typeof test);

ð non défini

On peut également déclarer une variable puis lui attribuer «non défini» comme ci-dessous:

var test = undefined;

Console.log (test);

ð non défini

Les variables non affectées sont initialisées par JavaScript avec une valeur par défaut non définie, tandis que JavaScript ne définit jamais automatiquement une valeur nulle, cela doit être fait par programme.

Comparaison directe entre indéfini et nul

Ci-dessous est la comparaison du Top 8 entre Javascript non défini et Null

Différences clés entre Javascript non défini et Null

Les deux Undefined vs Null sont des choix populaires sur le marché; laissez-nous discuter de quelques-unes des principales différences entre undefined vs Null:

  1. Undefined signifie qu'une variable a été déclarée mais n'a pas encore reçu de valeur.
  2. «Null» est une valeur d'affectation qui signifie «aucune valeur».
  3. «Undefined» et «null» sont tous deux des primitives.
  4. «Non défini» est de type non défini.
  5. «Null» est de type objet.
  6. JavaScript ne définit jamais une valeur sur «null», il est utilisé par les programmeurs pour indiquer qu'un «var» n'a pas de valeur.
  7. JavaScript définit une variable non affectée avec une valeur par défaut «non défini».
  8. «Undefined» n'est pas une valeur valide dans JSON (JavaScript Object Notation) tandis que «null» est une valeur valide dans JSON.
  9. On peut vérifier si une variable n'est pas définie en utilisant: type de variable === "non défini"
  10. Manière de vérifier si une variable est nulle en utilisant: variable === null
  11. L'opérateur d'égalité les traitera comme égaux tandis que l'opérateur d'identité ne les traitera pas comme égaux. null === undefined // false null == undefined // true
  12. La valeur «null» représente l'absence intentionnelle de toute valeur d'objet. C'est l'une des valeurs primitives de JavaScript.
  13. Null est écrit avec un littéral: «null». Ce n'est pas un identifiant pour la propriété d'un objet global, comme peut l'être «non défini». «Null» donne le manque d'identification, signifie qu'une variable ne pointe vers aucun objet.
  14. «Undefined» est une variable globale que JavaScript crée lors de l'exécution.
  15. Lorsque l'on effectue une conversion arithmétique sur "null", la valeur déterminée est 0, cette conversion peut être vérifiée: var v1 = 3 + null; console.log (v1); // 3
  16. "Undefined" n'effectue pas de conversion arithmétique comme "null", si nous essayons de l'ajouter à un chiffre, vous obtiendrez une erreur NaN (Not-a-Number).

Tableau de comparaison non défini vs nul

Ci-dessous la liste des points, Décrivez la comparaison entre Javascript Undefined vs Null

BASE de comparaison entre indéfini et nulIndéfiniNul
Définitionla variable a été déclarée mais n'a pas encore reçu de valeurvaleur d'affectation qui signifie «aucune valeur»
TypeIndéfiniObjet
JSONInvalideValide
La natureVariable déclarée mais pas encore affectéeReprésenter l'absence intentionnelle de valeur d'objet
Vérifiertypeof variableName === "non défini"variableName === null
ArithmétiqueErreur non numérique (NaN)traité comme une valeur nulle
ComparaisonL'opérateur d'égalité retournera vraiL'opérateur d'identité retournera faux
IdentifiantPeut être un identifiant pour une propriété d'un objet globalPas un identifiant pour une propriété de l'objet global

Conclusion - Indéfini vs Null

La plupart du temps, les gens comprennent mal la différence entre Undefined et Null. Si la distinction entre Non défini et Null reste floue, cela peut entraîner des problèmes dans certains cas de test.

Une variable peut être dite «non définie» si elle est déclarée mais qu'aucune valeur ne lui a été donnée. D'un autre côté, «null» est une valeur qui peut être affectée à une variable et représente «aucune valeur». Par conséquent, «undefined» est un type de variable, où «null» est une valeur d'objet.

"Null" est considéré comme un espace réservé pour rien. Cela signifie que nous avons intentionnellement assigné une valeur à une variable et donc supposé la valeur de rien à une variable. Lors de la vérification de null ou non défini, il faut être conscient des opérateurs d'égalité (==) et d'identité (===), car les anciens effectuent la conversion de type.

typeof null // objet

type d'undefined // undefined

null === undefined // false

null == undefined // true

null == null // true

null === null // true

! null // true

isNaN (1 + null) // false

isNaN (1 + indéfini) // true

Ainsi, en ce qui concerne la différence de type, «null» est un objet avec une valeur valide n'ayant pas de propriétés, est non modifiable et une seule instance existe en permanence dans le système. On peut vérifier la nature de «null», en utilisant l'opérateur «type of». L'utilisation de cet opérateur donnera la sortie comme «objet». Si nous utilisons l'opérateur «type de» sur un objet qui appartient à tous les critères d'une liste non définie, nous recevrons le type d'objet comme «non défini».

Une autre différence majeure entre Undefined et Null peut être conclue avec la conversion en types primitifs. La façon dont Undefined vs Null sont convertis en types primitifs est le domaine clé de la différenciation. Lors de la conversion arithmétique sur "null", la valeur déterminée est zéro. Cependant, «non défini» ne comporte pas une telle conversion. Si nous essayons d'ajouter «undefined» à un chiffre, vous obtiendrez une erreur Not-a-number.

L'utilisation de «null» peut être très pratique dans le scénario du monde réel. Par exemple - Certaines personnes n'ont pas de deuxième prénom. Donc, dans ce cas, il est préférable d'attribuer une valeur null à une variable de deuxième prénom dans un objet personne. Si quelqu'un accède à la variable du deuxième prénom dans l'objet personne et que sa valeur est «non définie». Il n'y a alors aucun moyen de vérifier que le développeur a oublié d'initialiser cette variable ou qu'elle n'a pas de valeur. Si elle est affectée comme nulle, cela signifie qu'un utilisateur peut facilement déduire que la variable du deuxième prénom n'a aucune valeur.

Donc, pour résumer, «nul» et «non défini» ont des significations différentes. Alors que «null» est un mot clé spécial qui indique une absence de valeur, «undefined» signifie «il n'existe pas». Il existe des situations où il est utile de différencier «une valeur nulle» et «aucune valeur». Lors de l'envoi de mises à jour pour une liste, «null» peut signifier, remplacez ce champ par «null», et undefined peut signifier «ne pas toucher». Pour les paramètres de fonction par défaut: undefined signifie «utiliser la valeur par défaut» et null signifie «utiliser null». Avoir Undefined vs Null comme deux choses distinctes dans JavaScript peut être honnêtement douloureux, cependant, si l'on est un développeur JavaScript, il / elle pourrait l'aimer.

Article recommandé

Cela a été un guide pour la différence entre Undefined et Null. Ici, nous discutons également des différences clés entre Javascript non défini et Null avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants -

  1. Go vs Java - Différences utiles
  2. Django vs différences WordPress
  3. JavaScript vs C #
  4. XML vs HTML - Lequel est le meilleur
  5. Performance Java vs Python