La sortie de TypeScript 3.7 apporte son lot de nouvelles fonctionnalités.
Moins connu que son grand frère le chainage optionnel, le nullish coalescing (coalescence nulle en français, mais c'est une traduction non officielle) fait partie de ces nouveautés.
Il permet de retourner une valeur par défaut si la valeur testée est null
ou undefined
:
const younup = {
expert: {
babyfoot: null,
description: '',
roxx: true
}
};
const undefinedValue = (younup.expert as any).scrabble ?? 'non disponible'; // 'non disponible'
const nullValue = younup.expert.babyfoot ?? 'non disponible'; // 'non disponible'
const description = younup.expert.description ?? 'Ici, on n\'est pas expert en babyfoot'; // ''
const isExpertIt = younup.expert.roxx ?? false; // true
Pour aller plus loin
En complément, on peut également l'utiliser conjointement avec l'opérateur de chainage optionnel.
const timeBeforeDiner = younup?.meetupDuration ?? 500;
Nous avons un double fallback :
- Si
younup
estundefined
ounull
alors timeBeforeDiner prendra la valeur500
. - Si
younup.meetupDuration
estundefined
ounull
alorstimeBeforeDiner
prendra aussi la valeur500
.
Donc si vous avez bien suivi, si younup.meetupDuration
est égal à 0
alors timeBeforeDiner
sera égal à ... 0
!
Merci d'avoir lu cet article !
Il a été posté initialement sur le blog de @younup_it :
https://www.younup.fr/blog/l-operateur-de-nullish-coalescing-une-nouveaute-de-typescript-3-7
Cover par Andrew Seaman sur Unsplash