Formation TypeScript 'Narrowing' - caillau-thomas/Formation-TypeScript Wiki

Lien vers le tutoriel complet : https://youtu.be/wxZ9mv5kbgo?list=PLjwdMgw5TTLX1tQ1qDNHTsy_lrkCt4VW3


Le Narrowing

Il permet d’éliminer des cas et de réduire les types possibles de vos variables. On définit dans la fonction les types possibles puis dans la condition on détermine le type de chaque variable.

  • Dans la première fonction la variable "id" peut soit être une string ou un number, au moment de la condition on détermine son type.

  • Dans le deuxième exemple, la variable "a" peut être une string, ou un boolean, et "b" une string, un number, ou un boolean, dans la condition on attend une égalité entre "a" et "b" ce qui signifie que a et b peuvent soit être des boolean soit des string car ce sont les deux seuls types en commun de ces variables.

  • Si vous indiquez une valeur ne correspondant à aucun type dans la condition elle prendra le type never cela indique normalement un cas qui n'arrivera jamais dans le code.

voir doc: https://www.typescriptlang.org/docs/handbook/2/narrowing.html