Pourquoi la méthode isNil
dans Lodash utilise-t-elle null
au lieu de undefined
?
function isNil(value) {
return value == null;
}
Cela ne fait aucune différence dans la logique en utilisant null
ou undefined
en tant que null == undefined == true
, mais utiliser null
au lieu de undefined
réduirait la taille du fichier de 5 octets.
Ceci est simplement fait pour sauvegarder quelques octets, ce qui rend le fichier plus petit et plus rapide à télécharger depuis le serveur.
Pour mieux comprendre cela, il est important de noter que lodash
utilise ==
ici au lieu de ===
.
Prenons l'exemple suivant:
console.log(null == undefined); // true
console.log(null === undefined); // false
En utilisant ==
(double égal), lodash utilise une contrainte de type où null
et undefined
seront forcés à falsy . Par conséquent, null == undefined
est true
.
Cependant, si vous utilisez ===
(triple égal), aucune contrainte n'est appliquée, ce qui signifie que les types doivent être identiques et, comme nous le savons, null
n'est pas identique à undefined
. Par conséquent, null === undefined
est false
.