La version stable de TypeScript 2.3 est disponible :
Le point des nouveautés du surensemble typé de JavaScript
Le 2017-04-28 15:20:24, par Michael Guilloux, Chroniqueur Actualités
Après la release candidate (RC) sortie il y a deux semaines, la version stable de TypeScript 2.3 est maintenant disponible. Comme nous l’avons annoncé, cette version du surensemble typé de JavaScript apporte comme nouveautés l'option --strict, la compatibilité ES3 et ES5 des générateurs et itérateurs, et des générateurs et itérateurs asynchrones, présentés à la sortie de la RC.
Avec la sortie de TypeScript 2.3, Microsoft a toutefois tenu à mettre en évidence d’autres nouveautés. Par exemple, avec la nouvelle option --strict activée par défaut, tsc --init a une sortie améliorée. Les fichiers tsconfig.json par défaut générés par tsc --init incluent maintenant un ensemble d'options de compilation communes avec leur description en commentaires. Étant donné que les utilisateurs ignorent souvent les types d'options que TypeScript met à leur disposition, Microsoft a décidé de profiter de la sortie de --init de TypeScript pour lister de manière explicite les options potentielles dans des commentaires. À titre d'exemple, la sortie de tsconfig.json ressemblera à ce qui suit :
Une autre nouveauté intéressante porte sur la vérification de type dans des fichiers JavaScript avec // @ts -check et --checkJs. Par défaut, le compilateur TypeScript ne signale aucune erreur dans les fichiers .js, y compris en utilisant --allowJs (qui permet aux fichiers JavaScript d'être compilés).
Avec TypeScript 2.3, les erreurs de vérification de type peuvent maintenant être signalées dans les fichiers .js avec l'option --checkJs. Vous pouvez ignorer la vérification d'un fichier en ajoutant un commentaire avec // @ts -nocheck en haut du fichier. À l'inverse, vous pouvez choisir de vérifier seulement quelques fichiers .js en ajoutant un commentaire //@ ts -check sans définir l'option --checkJs. Vous pouvez également ignorer les erreurs sur des lignes spécifiques en ajoutant // @ ts -ignore sur la ligne précédente.
Vous trouverez plus de détails sur les autres nouveautés introduites dans TypeScript sur GitHub.
Sources : Microsoft, GitHub
Utilisez-vous TypeScript ? Qu'en pensez-vous ?
Quelles fonctionnalités vous semblent les plus intéressantes dans cette version ?
Voir aussi :
Visual Studio Code 1.11 est disponible, avec TypeScript 2.2.2, un nouvel éditeur de raccourcis, une amélioration pour la recherche de texte et plus
Après avoir réécrit Angular en TypeScript, Google approuve le surensemble JavaScript de Microsoft pour ses développements internes
Avec la sortie de TypeScript 2.3, Microsoft a toutefois tenu à mettre en évidence d’autres nouveautés. Par exemple, avec la nouvelle option --strict activée par défaut, tsc --init a une sortie améliorée. Les fichiers tsconfig.json par défaut générés par tsc --init incluent maintenant un ensemble d'options de compilation communes avec leur description en commentaires. Étant donné que les utilisateurs ignorent souvent les types d'options que TypeScript met à leur disposition, Microsoft a décidé de profiter de la sortie de --init de TypeScript pour lister de manière explicite les options potentielles dans des commentaires. À titre d'exemple, la sortie de tsconfig.json ressemblera à ce qui suit :
Code : |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "compilerOptions": { /* Basic Options */ "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */ "module": "commonjs", /* Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'. */ // "lib": [], /* Specify library files to be included in the compilation: */ // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ // "declaration": true, /* Generates corresponding '.d.ts' file. */ // "sourceMap": true, /* Generates corresponding '.map' file. */ // ... } } |
Une autre nouveauté intéressante porte sur la vérification de type dans des fichiers JavaScript avec // @ts -check et --checkJs. Par défaut, le compilateur TypeScript ne signale aucune erreur dans les fichiers .js, y compris en utilisant --allowJs (qui permet aux fichiers JavaScript d'être compilés).
Avec TypeScript 2.3, les erreurs de vérification de type peuvent maintenant être signalées dans les fichiers .js avec l'option --checkJs. Vous pouvez ignorer la vérification d'un fichier en ajoutant un commentaire avec // @ts -nocheck en haut du fichier. À l'inverse, vous pouvez choisir de vérifier seulement quelques fichiers .js en ajoutant un commentaire //@ ts -check sans définir l'option --checkJs. Vous pouvez également ignorer les erreurs sur des lignes spécifiques en ajoutant // @ ts -ignore sur la ligne précédente.
Code : |
1 2 3 4 5 6 7 8 9 | // @ts-check /** * @param {string} input */ function foo(input) { input.tolowercase() // ~~~~~~~~~~~ Error! Should be toLowerCase } |
Vous trouverez plus de détails sur les autres nouveautés introduites dans TypeScript sur GitHub.
Sources : Microsoft, GitHub
Voir aussi :
-
benjamin_musiqueMembre habituéJe l'utilise dans un 1er projet avec Angular (je travaille pour une grande entreprise industrielle).
Le typage étant optionnel pour moi ça n'a que des avantages
Même si on a peur pour sa pérennité, les personnes ayant investi sur Silverlight me comprendront!le 15/05/2017 à 10:11 -
yahikoRédacteur/ModérateurSilverlight, auquel je n'ai jamais cru, était une techno propriétaire.
TypeScript à contrario, est un langage open source qui a un réel souci des standards actuels du Web, au point même dans les réflexions actuelles sur la feuille de route, de limiter au maximum les extensions de la syntaxe du langage sur des aspects "peu JavaScript", comme les classes par exemple.
Personnellement, je trouve cela un peu dommage, mais je peux comprendre la logique de l'équipe TypeScript de coller au maximum à JavaScript et aux prochaines recommandations du comité ECMAScript.le 21/05/2017 à 1:09 -
PaleoMembre éclairéLes choix de design de TypeScript en font une technologie pérenne. Vos mauvaises surprises viendront d'Angular.
Sur quelle discussion ?le 22/05/2017 à 10:57 -
yahikoRédacteur/ModérateurJe faisais implicitement référence à un long débat sur les classes partielles (partial classes) qui a été tranché récemment par l'un des collaborateurs Microsoft de l'équipe TypeScript.
Voici son commentaire censé clore le débat :
Envoyé par RyanCavanaugh le 29/05/2017 à 14:40 -
PaleoMembre éclairéMerci. J'avais effectivement raté cette discussion.le 30/05/2017 à 8:19