TypeScriptTypes de base
Tableaux : number[] et Array<T>
Les types de tableaux, où tous les éléments ont le même type.
Exemple
#TypeScript
const scores: number[] = [72, 95, 88]
const names: Array<string> = ['Léa', 'Lucas']
scores.push(64)
const best = Math.max(...scores)
console.log(best, names.length)Résultat
95 2
Définition et utilisation
#Vous décrivez un tableau en ajoutant des crochets après le type de l’élément : number[] est un tableau de nombres, string[] un tableau de chaînes. Une notation équivalente est le type générique Array<number>.
Grâce à cela, le compilateur connaît le type de chaque élément et suggère les bonnes méthodes. Après names.map(...), il sait que vous recevez un string dans la fonction, et essayer d’ajouter un nombre à un tableau de chaînes échoue.
Un tableau en lecture seule s’écrit readonly string[] ou ReadonlyArray<string>. Le compilateur bloque alors les méthodes qui modifient le tableau, comme push().
Syntaxe
#Syntaxe
let numbers: number[] = [1, 2, 3]
let strings: Array<string> = ["a", "b"]Plus d’exemples
#TypeScript
const levels: readonly string[] = ['facile', 'moyen', 'difficile']
levels.push('expert')
// Erreur : Property 'push' does not exist on type 'readonly string[]'.TypeScript
const lessons: { title: string; minutes: number }[] = [
{ title: 'Balises', minutes: 12 },
{ title: 'Attributs', minutes: 9 }
]
const total = lessons.reduce((sum, lesson) => sum + lesson.minutes, 0)
console.log(total)Résultat
21
Bonnes pratiques
#- Choisissez une seule notation (
T[]ouArray<T>) et gardez-la dans tout le projet. Vous rencontrerezT[]plus souvent. - Pour un tableau de longueur fixe avec des types différents à chaque position, utilisez un tuple.
Entrées associées
#- TuplesDes tableaux de longueur fixe où chaque position a son propre type.
- Types d’objetsUne description de la forme d’un objet : quels champs il a et de quel type.
- Génériques <T>Types et fonctions avec un paramètre de type, qui fonctionnent pour plusieurs types sans perdre en précision.
- readonlyUn modificateur qui bloque la modification d’un champ après la création de l’objet.
- ReadonlyArray<Type>Un tableau en lecture seule : sans push, sort ni affectation par index.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.