Microsoft a publié ce mardi la version stable de TypeScript 3.7.0. Comme la version bêta publiée en octobre dernier, TypeScript 3.7.0 apporte diverses nouvelles fonctionnalités et quelques améliorations au langage, notamment l’opérateur de coalescence null « ?? », l'opérateur de chaînage d'optionnels « ?. », etc., et une meilleure prise en charge des fonctions never-Returning. Cette nouvelle version de TypeScript apporte également d’autres fonctionnalités telles que les fonctions d’assertions et les alias de types récursifs.TypeScript est un langage de programmation libre et open source et un surensemble de JavaScript développé par Microsoft qui a pour but d'améliorer et de sécuriser la production de code JavaScript. TypeScript 3.6.0 est sorti en août avec de nouvelles fonctionnalités et améliorations pour le langage. TypeScript 3.6.0 a introduit une vérification plus stricte pour les itérateurs et pour les fonctions du générateur. Dans les versions précédentes, les utilisateurs de générateurs ne pouvaient pas différencier si une valeur était cédée ou renvoyée par un générateur.
Microsoft a aussi apporté dans TypeScript 3.6.0 une utilisation plus améliorée des tableaux et une amélioration de l’UX en retouchant la classe Promise. Après la bêta de TypeScript 3.7.0 publié au début du mois passé, Microsoft annonce à présent la disponibilité de la version stable. Voici de quoi il s’agit dans TypeScript 3.7.0 :
l'opérateur de chaînage d'optionnels (?.)
Une autre fonctionnalité importante de cette version est le chaînage optionnel. Le chaînage optionnel vous permet d'écrire du code où vous pourrez immédiatement arrêter d'exécuter certaines expressions si vous rencontrez une valeur null ou undefined. La fonctionnalité est disponible avec l'opérateur de chaînage d'optionnels (?.). En fait, l'opérateur de chaînage d'optionnels (?.) permet de parcourir des structures similaires à des arbres de façon élégante : si l’une des propriétés intermédiaires est null ou undefined, la chaîne entière est alors évaluée comme undefined.
Les développeurs qui sont habitués aux langages de programmation comme le C# de Microsoft ou le langage Swift d’Apple connaissent cet opérateur puisque celui-ci est pris en charge par ces langages. À contrario, sa prise en charge continuait à se faire attendre sous TypeScript, mais il est clair désormais qu'elle ne le restera plus pour longtemps et apparaîtra certainement dans TypeScript 3.7.0. Microsoft travaille sur la prise en charge de cet opérateur dans la version stable TypeScript 3.7.0 qui sera livrée dans les prochaines semaines.
La coalescence null
D’après l’équipe de développement de TypeScript, l'opérateur de coalescence null est une fonctionnalité ECMAScript à venir qui va de pair avec le chaînage optionnel. Vous pouvez penser à l’opérateur de coalescence null (??) comme un moyen de revenir à une valeur par défaut lorsque vous traitez avec null ou undefined. Lorsque l’on écrit un code comme : let x = foo ?? bar(); par exemple, c'est une nouvelle façon de dire que la valeur foo sera utilisée quand elle est existe, mais quand elle est nulle ou non définie, la valeur de bar() sera retournée.
En effet, l'opérateur de coalescence null est un opérateur binaire qui fait partie de la syntaxe d'une expression conditionnelle de base dans plusieurs langages de programmation, dont C#, Perl à partir de la version 5.10, Swift, etc. Si son comportement varie selon l'implantation, l'opérateur de coalescence null rend généralement le résultat du premier opérande à gauche si celui-ci existe et n'est pas nul, sinon renvoie le deuxième opérateur. Ce comportement permet de définir une valeur par défaut pour les cas où une valeur plus spécifique n'est pas disponible.
De même, l'opérateur de coalescence null (??) a été également ajouté dans le langage de programmation PHP à partir de sa version 7.0.0, publiée en décembre 2015, en tant que sucre syntaxique pour le cas courant de besoin d'utiliser un ternaire en conjonction avec isset(). Il retourne son premier opérande s'il existe et n'est pas nul ; sinon, il retourne son deuxième opérande. Selon l’équipe de...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.