type
Un alias de type : un nom pour n’importe quel type, y compris les unions, les tuples et les types complexes.
Exemple
#type Difficulty = 'easy' | 'medium' | 'hard'
type Task = {
title: string
difficulty: Difficulty
exp: number
}
type Handler = (task: Task) => string
const summary: Handler = (task) => `${task.title} (${task.difficulty}): +${task.exp} EXP`
console.log(summary({ title: 'Flexbox', difficulty: 'medium', exp: 20 }))Flexbox (medium): +20 EXP
Définition et utilisation
#Le mot-clé type crée un alias, c’est-à-dire un nouveau nom pour un type existant. Cela peut être un type d’objet, mais aussi une union ("easy" | "hard"), un tuple, un type de fonction, ou le résultat d’un type utilitaire.
Les alias et les interfaces fonctionnent de façon très similaire pour décrire des objets. Les différences : un alias ne peut pas être « réouvert » par une seconde déclaration du même nom, et son extension se fait par l’intersection & plutôt que par extends.
Les alias sont indispensables partout où une interface ne suffit pas : pour les unions, les types conditionnels, les types mappés et les types de gabarits (template literal types).
Syntaxe
#type Name = typeBonnes pratiques
#- Écrivez toujours les unions, les tuples et les types de fonctions avec
type. Une interface ne peut pas les exprimer. - Fixez une règle simple en équipe, par exemple : les objets avec
interface, le reste avectype.
Entrées associées
#- interface vs typeinterface décrit la forme d’un objet et fusionne avec une déclaration du même nom, tandis que type est un alias pour tout type, y compris les unions et les tuples.
- interfaceUne description nommée de la forme d’un objet, que vous pouvez étendre et fusionner.
- Types littérauxDes types qui n’autorisent que des valeurs précises, par ex. "easy" | "hard".
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.