Opérateur de coalescence des nuls VS Opérateur Ou logique

portrait de l'auteur

Écrit par Vincent Delmotte

Le 12 juillet 2024

Vous êtes vous déjà poser la question suivante : quelle est la différence entre ?? et || ? Découvrez dans cet article les différences entre l'opérateur de coalescence des nuls et l'opérateur OU logique. Apprenez à les utiliser et à les différencier pour optimiser votre code JavaScript.

Le saviez-vous ?

Quelle est la différence entre ?? et || ?

Nullish Coalescing Operator - ??

De son doux nom français “Opérateur de coalescence des nuls”, a ?? b permet de renvoyer le terme a si ce dernier n’est pas ni null ni undefined. Dans le cas inverse l’opérateur renvoie le terme b.

Voici un exemple qui permet de redéfinir cet opérateur en JavaScript.

const result = a ?? b;
const nullishCoalescingOperator = (a, b) => {
  if (a !== null && a !== undefined) {
    return a;
  }
  return b;
};

const result = nullishCoalescingOperator(a, b);

Logical Or Operator - ||

L’opérateur OU logique est similaire à l’opérateur de coalescence des nuls à l’exception que ce dernier test si le terme a est falsy.

Pour rappel voici une liste non exhaustive des valeurs falsy en JavaScript :

  • null
  • undefined
  • false
  • NaN
  • 0
  • “”

Voici un exemple qui permet de redéfinir cet opérateur en JavaScript.

const result = a || b;
const orOperator = (a, b) => {
  if (a) {
    return a;
  }
  return b;
};

Mémo

Pour finir, voici un tableau qui résume le retour des fonctions ?? et ||

Tableau récap fonctions

Sources

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR

← Voir tous les articles