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