TypeScript c'est JavaScript avec une syntaxe pour les types.

TypeScript est un langage de programmation fortement typé qui s'appuie sur JavaScript et offre de meilleurs outils à n'importe quelle échelle.

ts
const user = {
firstName: "Angela",
lastName: "Davis",
role: "Professor",
}
 
console.log(user.name)
Property 'name' does not exist on type '{ firstName: string; lastName: string; role: string; }'.2339Property 'name' does not exist on type '{ firstName: string; lastName: string; role: string; }'.
 
ts
const user = {
firstName: "Angela",
lastName: "Davis",
role: "Professor",
}
 
console.log(user.name)
Property 'name' does not exist on type '{ firstName: string; lastName: string; role: string; }'.2339Property 'name' does not exist on type '{ firstName: string; lastName: string; role: string; }'.
 

TypeScript 5.3 est maintenant disponible, 5.4 est actuellement en bêta.

Qu'est-ce que TypeScript ?

JavaScript et plus encore

TypeScript ajoute une syntaxe supplémentaire à JavaScript pour favoriser une intégration plus poussée avec votre éditeur. Détectez les erreurs au plus tôt dans votre éditeur.

Un résultat digne de confiance

Le code TypeScript peut être converti en JavaScript, qui peut être exécuté n'importe où où fonctionne JavaScript : dans un navigateur, sur Node.js ou Deno et dans vos applications.

La sécurité à l'échelle

TypeScript comprend le JavaScript et utilise l'inférence de type pour vous donner des outils de qualité sans code supplémentaire.

Adoptez TypeScript graduellement

Appliquez des types à votre projet JavaScript progressivement, chaque étape améliore les capacités de votre éditeur et améliore votre codebase.

Prenons ce code JavaScript incorrect, et voyons comment TypeScript peut détecter les erreurs dans votre éditeur.

js
function compact(arr) {
if (orr.length > 10)
return arr.trim(0, 10)
return arr
}

No editor warnings in JavaScript files

This code crashes at runtime!

Fichier JavaScript

js
// @ts-check
 
function compact(arr) {
if (orr.length > 10)
Cannot find name 'orr'.2304Cannot find name 'orr'.
return arr.trim(0, 10)
return arr
}

Adding this to a JS file shows errors in your editor

the param is arr, not orr!

JavaScript avec vérification TS

js
// @ts-check
 
/** @param {any[]} arr */
function compact(arr) {
if (arr.length > 10)
return arr.trim(0, 10)
Property 'trim' does not exist on type 'any[]'.2339Property 'trim' does not exist on type 'any[]'.
return arr
}

Using JSDoc to give type information

Now TS has found a bad call. Arrays have slice, not trim.

JavaScript avec JSDoc

ts
function compact(arr: string[]) {
if (arr.length > 10)
return arr.slice(0, 10)
return arr
}

TypeScript adds natural syntax for providing types

Fichier TypeScript

Décrivez vos données

Décrivez la forme des objets et des fonctions dans votre code.

Permettant de voir la documentation et les problèmes dans votre éditeur.

ts
interface Account {
id: number
displayName: string
version: 1
}
 
function welcome(user: Account) {
console.log(user.id)
}
ts
type Result = "pass" | "fail"
 
function verify(result: Result) {
if (result === "pass") {
console.log("Passed")
} else {
console.log("Failed")
}
}

TypeScript devient JavaScript grâce à la touche de suppression.

ts
type Result = "pass" | "fail"
 
function verify(result: Result) {
if (result === "pass") {
console.log("Passed")
} else {
console.log("Failed")
}
}
 

Fichier TypeScript.

ts
type Result = "pass" | "fail"
 
function verify(result: Result) {
if (result === "pass") {
console.log("Passed")
} else {
console.log("Failed")
}
}
 

Les types sont retirés.

js
 
 
function verify(result) {
if (result === "pass") {
console.log("Passed")
} else {
console.log("Failed")
}
}
 

Fichier JavaScript.

Témoignages TypeScript

First, we were surprised by the number of small bugs we found when converting our code.

Second, we underestimated how powerful the editor integration is.

TypeScript was such a boon to our stability and sanity that we started using it for all new code within days of starting the conversion.

Felix Rieseberg at Slack covered the transition of their desktop app from JavaScript to TypeScript in their blog

Read

Apprécié par les développeurs

Image of the stack overflow logo, and a graph showing TypeScript as the 2nd most popular language

Élu 2e langage de programmation le plus apprécié dans l'enquête Stack Overflow 2020 Developer survey.

Logo of the State of JS survey

TypeScript a été utilisé par 78% des répondants à la State of JS 2020, avec 93% disant qu'ils l'utiliseraient à nouveau.

TypeScript a reçu le prix de la "technologie la plus adoptée" sur la base de la croissance annuelle.