Maison  >  Article  >  interface Web  >  Quelle est la différence entre Null et non défini en JavaScript ?

Quelle est la différence entre Null et non défini en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-19 06:18:301015parcourir

Nul

En JavaScript, null est une valeur primitive qui représente l'absence intentionnelle de toute valeur d'objet. C'est l'une des valeurs fausses de JavaScript, ce qui signifie qu'elle est évaluée comme fausse dans des contextes booléens. Cependant, il est distinct de undefined, qui représente une variable qui a été déclarée mais à laquelle aucune valeur n'a été attribuée.

  • null est une valeur primitive spéciale, mais lorsque vous vérifiez son type à l'aide de typeof, elle renvoie "object".

What is the difference between Null and undefined in JavaScript?
null est utilisé lorsqu'une variable est censée contenir un objet mais n'en a pas actuellement. Cela signale l'absence intentionnelle d'une valeur.

let person = null;  // The `person` variable explicitly has no value.

Utilisé lorsque vous souhaitez intentionnellement signifier « aucune valeur » ou « vide ».


Indéfini

En JavaScript, undefined est une valeur primitive automatiquement attribuée aux variables qui ont été déclarées mais qui n'ont pas encore reçu de valeur.

  • undefined est un type primitif en JavaScript. Il fait référence à des variables qui ont été déclarées mais non initialisées, et son type reflétera correctement « non défini ».
let x;
console.log(typeof x);         // "undefined"

Différence entre nul et non défini

What is the difference between Null and undefined in JavaScript?
Dans cet exemple, uninitializedVariable n'est pas défini car aucune valeur ne lui a été attribuée.
Pendant ce temps, objectWithNoValue est explicitement défini sur null, signalant qu’il doit contenir un objet, mais ce n’est pas le cas actuellement.

Comparaison

  • Égalité lâche (==) null et undefined sont vaguement égaux car ils représentent tous deux une valeur « vide ».
console.log(null == undefined);  // true
  • Égalité stricte (===) Ils ne sont pas strictement égaux car ils sont de types différents.
console.log(null == undefined);  // true

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