Définition de types

Il est possible de trouver des définitions pour les types et les fonctions exposés par les bibliothèques JavaScript les plus populaires.
L'extension.d.ts est la marque des fichiers qui contiennent ces définitions de type.

Pour récupérer les types spécifiques à Angular : 

npm install --save-dev @types/angular

Depuis TypeScript 1.6, le compilateur a accès aux définitions si NPM est utilisé.

Décorateurs et annotations

Un "décorateur" permet de faire de la méta-programmation un peu comme des "annotations" dans d'autres langages. 

Angular fournit des décorateurs. Ils ajoutent des métadonnées aux classes, propriétés ou paramètres. Les premiers décorateurs que l'on rencontre avec Angular sont souvent @NgModule et @Component pour indiquer respectivement  qu'une classe est  un module ou un composant.