Etendre Javascript par :
| Fonctionnalité | TypeScript | ES6 |
|---|---|---|
| Typage statique | var isDone: boolean = false; | N/A (futur "trademarks" et "guards" de ES7) |
| Typage "any" | var notSure: any = 4; | Future |
| Interface | interface LabelledValue { label: string; } | N/A (mot réservé pour le futur) |
| Lamba expressions | var square = (x) => { x * x }; | var square = (x) => { x * x }; |
| Arguments par défaut | var fill = (container, liquid = "coffee") => { "Filling the #{container} with #{liquid}..." }; | var fill = (container, liquid = "coffee") => { "Filling the #{container} with #{liquid}..." }; |
| Classe | class Animal constructor (name) => { } | class Animal constructor (name) => { } |
| Interpolation de chaînes | N/A | var author = "Wittgenstein"; var quote = "A picture is a fact. -- ${author}"; |
| Source maps | --map | traceur --sourcemap |
Le code TypeScript est compilé en Javascript avant exécution.