JavaScript null vs undefined
-
null
en JavaScript -
undefined
en JavaScript -
Pourquoi les gens confondent-ils
null
etundefined
avec être le même en JavaScript ? -
Différences entre
null
etundefined
en JavaScript
JavaScript est un langage puissant, mais l’utilisation de différents types de données peut être source de confusion, en particulier pour les débutants. Les types de données null
et undefined
semblent ne rien représenter, mais ils sont différents.
Il faut faire la distinction entre ceux-ci et savoir quand utiliser lequel pour éviter les bogues d’exécution.
Cet article traite de null
et undefined
et de leur différence.
null
en JavaScript
null
est un objet en JavaScript. Si cela n’a pas de sens, ce n’est pas grave car il s’agit d’un bogue dans JavaScript. Il est censé être l’un des types de données primitifs, mais effectuer cette modification cassera de nombreuses bases de code existantes.
C’est une valeur attribuée par l’utilisateur ; JavaScript ne donne jamais aux variables la valeur null
par lui-même. C’est une valeur attribuée aux variables laissées vides. Elle peut être qualifiée de valeur vide.
undefined
en JavaScript
undefined
est un état. Lorsque nous déclarons une variable mais que nous ne l’initialisons jamais avec une valeur, elle est appelée indéfinie. C’est la valeur par défaut utilisée par JavaScript pour initialiser les variables. C’est aussi une valeur vide.
Pourquoi les gens confondent-ils null
et undefined
avec être le même en JavaScript ?
null
et undefined
sont identiques dans les aspects suivants :
- Les deux sont des types de données primitifs.
- Si vous les comparez en utilisant l’opérateur d’égalité
==
, il renvoie vrai.
null == undefined; // returns true
JavaScript considère les deux comme des valeurs vides.
undefined
etnull
renvoient tous deuxfalse
lorsqu’ils sont utilisés dans une expression.
!!undefined; // false
!!null; // false
Différences entre null
et undefined
en JavaScript
- Différence de type
console.log(typeof (null)); // object
console.log(typeof (undefined)); // undefined
Dans l’exemple ci-dessus, nous utilisons l’opérateur typeof
pour vérifier leurs types de données. Il renvoie le type de données null
comme un objet
et le type de données undefined
en tant que undefined
. Bien que l’opérateur d’égalité ==
renvoie vrai, l’opérateur d’identité ===
renverra faux car ils sont égaux en valeur mais ont un type de données différent.
- Opérations arithmétiques
null
se comporte comme un nombre sans valeur lors de l’exécution d’opérations arithmétiques. L’exécution d’opérations donne des résultats similaires à comme si null était 0
.
console.log(4 + null); // 4
console.log(4 * null); // 0
console.log(4 - null); // 4
console.log(4 / null); // Infinity
Il est important de noter que bien qu’il puisse être traité comme 0
dans les opérations arithmétiques, la valeur de null
n’est pas 0
.
Pendant ce temps, undefined
renvoie NaN
lorsqu’il est utilisé dans des opérations arithmétiques.
console.log(4 + undefined); // NaN
console.log(4 * undefined); // NaN
console.log(4 - undefined); // NaN
console.log(4 / undefined); // NaN
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn