L'opérateur de nullish coalescing : une autre nouveauté de TypeScript 3.7

Benjamin🦸‍♂️Auzanneau™ - Jul 9 '20 - - Dev Community

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
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

Nous avons un double fallback :

  • Si younup est undefined ou null alors timeBeforeDiner prendra la valeur 500.
  • Si younup.meetupDuration est undefined ou null alors timeBeforeDiner prendra aussi la valeur 500.

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player