TypeScript - Présentation

JavaScript a été introduit comme langage pour le côté client. Le développement de Node.js a également marqué JavaScript comme une technologie émergente côté serveur. Cependant, à mesure que le code JavaScript se développe, il a tendance à devenir plus compliqué, ce qui rend difficile la maintenance et la réutilisation du code. De plus, son incapacité à intégrer les fonctionnalités d'orientation d'objet, de vérification de type forte et de vérification des erreurs lors de la compilation empêche JavaScript de réussir au niveau de l'entreprise en tant que technologie à part entière côté serveur.TypeScript a été présentée pour combler cette lacune.

Qu'est-ce que TypeScript?

Par définition, «TypeScript est JavaScript pour le développement à l'échelle de l'application».

TypeScript est un langage compilé fortement typé, orienté objet. Il a été conçu parAnders Hejlsberg(concepteur de C #) chez Microsoft. TypeScript est à la fois un langage et un ensemble d'outils. TypeScript est un sur-ensemble typé de JavaScript compilé en JavaScript. En d'autres termes, TypeScript est JavaScript avec quelques fonctionnalités supplémentaires.

Caractéristiques de TypeScript

TypeScript is just JavaScript. TypeScript commence par JavaScript et se termine par JavaScript. Typescript adopte les éléments de base de votre programme à partir de JavaScript. Par conséquent, il vous suffit de connaître JavaScript pour utiliser TypeScript. Tout le code TypeScript est converti en son équivalent JavaScript à des fins d'exécution.

TypeScript supports other JS libraries. Le TypeScript compilé peut être utilisé à partir de n'importe quel code JavaScript. Le JavaScript généré par TypeScript peut réutiliser tous les frameworks, outils et bibliothèques JavaScript existants.

JavaScript is TypeScript. Cela signifie que tout.js le fichier peut être renommé en .ts et compilé avec d'autres fichiers TypeScript.

TypeScript is portable. TypeScript est portable sur les navigateurs, les périphériques et les systèmes d'exploitation. Il peut fonctionner sur n'importe quel environnement sur lequel JavaScript s'exécute. Contrairement à ses homologues, TypeScript n'a pas besoin d'une VM dédiée ou d'un environnement d'exécution spécifique pour s'exécuter.

TypeScript et ECMAScript

La spécification ECMAScript est une spécification normalisée d'un langage de script. Il y a six éditions d'ECMA-262 publiées. La version 6 de la norme porte le nom de code "Harmony". TypeScript est aligné sur la spécification ECMAScript6.

TypeScript adopte ses fonctionnalités de langage de base de la spécification ECMAScript5, c'est-à-dire la spécification officielle de JavaScript. Les fonctionnalités du langage TypeScript telles que les modules et l'orientation basée sur les classes sont conformes à la spécification EcmaScript 6. De plus, TypeScript comprend également des fonctionnalités telles que les génériques et les annotations de type qui ne font pas partie de la spécification EcmaScript6.

Pourquoi utiliser TypeScript?

TypeScript est supérieur à ses autres homologues comme les langages de programmation CoffeeScript et Dart dans la mesure où TypeScript est un JavaScript étendu. En revanche, des langages comme Dart, CoffeeScript sont de nouveaux langages en eux-mêmes et nécessitent un environnement d'exécution spécifique au langage.

Les avantages de TypeScript incluent:

  • Compilation- JavaScript est un langage interprété. Par conséquent, il doit être exécuté pour tester sa validité. Cela signifie que vous écrivez tous les codes juste pour ne trouver aucune sortie, au cas où il y aurait une erreur. Par conséquent, vous devez passer des heures à essayer de trouver des bogues dans le code. Le transpilateur TypeScript fournit la fonction de vérification des erreurs. TypeScript compilera le code et générera des erreurs de compilation, s'il trouve une sorte d'erreurs de syntaxe. Cela permet de mettre en évidence les erreurs avant l'exécution du script.

  • Strong Static Typing- JavaScript n'est pas fortement typé. TypeScript est fourni avec un système facultatif de typage statique et d'inférence de type via le TLS (TypeScript Language Service). Le type d'une variable, déclaré sans type, peut être déduit par le TLS en fonction de sa valeur.

  • Manuscrit supports type definitionspour les bibliothèques JavaScript existantes. Fichier de définition TypeScript (avec.d.tsextension) fournit la définition des bibliothèques JavaScript externes. Par conséquent, le code TypeScript peut contenir ces bibliothèques.

  • Manuscrit supports Object Oriented Programming des concepts comme les classes, les interfaces, l'héritage, etc.

Composants de TypeScript

En son cœur, TypeScript a les trois composants suivants -

  • Language - Il comprend la syntaxe, les mots-clés et les annotations de type.

  • The TypeScript Compiler - Le compilateur TypeScript (tsc) convertit les instructions écrites en TypeScript en son équivalent JavaScript.

  • The TypeScript Language Service- Le «service de langage» expose une couche supplémentaire autour du pipeline du compilateur principal qui sont des applications de type éditeur. Le service de langage prend en charge l'ensemble commun d'opérations d'éditeur typiques telles que les complétions d'instructions, l'aide à la signature, le formatage et la mise en page du code, la colorisation, etc.

Fichiers de déclaration

Lorsqu'un script TypeScript est compilé, il existe une option pour générer un declaration file (avec l'extension .d.ts) qui fonctionne comme une interface avec les composants dans le JavaScript compilé. Le concept de fichiers de déclaration est analogue au concept de fichiers d'en-tête trouvé en C / C ++. Les fichiers de déclaration (fichiers avec.d.ts extension) fournissent intellisense pour les types, les appels de fonction et la prise en charge des variables pour les bibliothèques JavaScript telles que jQuery, MooTools, etc.