Les deux représentent "aucune valeur", mais avec une intention et une origine différentes.
Les deux représentent "aucune valeur", mais avec une intention et une origine différentes.
undefined: l'absence d'une valeur, généralement définie par le moteur JavaScript — une variable déclarée mais non assignée, une propriété d'objet manquante, un paramètre de fonction que vous n'avez pas passé, ou une fonction sans return.null: une valeur "vide" intentionnelle que vous assignez pour dire "délibérément rien ici".let a; // undefined — declared, not assigned
const obj = {};
obj.missing; // undefined — property doesn't exist
function f() {}
f(); // undefined — no return
const b = null; // null — you chose to empty it
null == undefined; // true — loose equality treats them as equal
null === undefined; // false — different types
typeof undefined; // "undefined"
typeof null; // "object" (historical bug)
const value = input ?? "default"; // defaults on EITHER null or undefined
user?.address?.city; // optional chaining — undefined if any link is null/undefined
Utilisez null pour effacer intentionnellement une valeur (par ex. "aucun utilisateur sélectionné"), et traitez undefined comme "pas encore défini". Les opérateurs ?? (nullish coalescing) et ?. (optional chaining) gèrent les deux à la fois, c'est pourquoi ils sont si largement utilisés.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don