web-dev-qa-db-fra.com

Pourquoi la méthode isNil dans Lodash utilise-t-elle null à la place de non défini?

Pourquoi la méthode isNil dans Lodash utilise-t-elle null au lieu de undefined?

function isNil(value) {
  return value == null;
}
9
mohsinulhaq

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.

4
George

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.

1
lux