TypeScriptTypes de base

Types littéraux

Des types qui n’autorisent que des valeurs précises, par ex. "easy" | "hard".

Sur cette page

Exemple

#
TypeScript
type Theme = 'light' | 'dark' | 'system'

function applyTheme(theme: Theme): string {
  return theme === 'system' ? 'Thème identique au système' : `Thème : ${theme}`
}

console.log(applyTheme('dark'))
console.log(applyTheme('system'))
Résultat
Thème : dark
Thème identique au système

Définition et utilisation

#

Un type littéral est un type dont la seule valeur autorisée est un littéral précis : "easy", 42 ou true. Seul, il est peu utile, mais combiné dans une union, il crée une liste précise de valeurs autorisées.

La déclaration type Theme = "light" | "dark" | "system" fait qu’une variable de type Theme n’accepte que ces trois chaînes. Une faute de frappe comme "drak" est détectée immédiatement, et l’éditeur suggère les options disponibles.

Les variables déclarées avec const reçoivent automatiquement un type littéral. Avec let, TypeScript élargit le type à string ou number, car la valeur peut changer.

Syntaxe

#
Syntaxe
type Name = "value1" | "value2" | 3

Plus d’exemples

#
Une faute de frappe détectée par le compilateur
TypeScript
applyTheme('drak')
// Erreur : Argument of type '"drak"' is not assignable to parameter of type 'Theme'.
const et let
TypeScript
const fixed = 'hard'
// type : "hard"
let changing = 'hard'
// type : string

Bonnes pratiques

#
  • Les unions de littéraux sont souvent un meilleur choix qu’un enum : elles sont plus légères et se lisent clairement dans les données.
  • Pour figer des littéraux dans un objet ou un tableau, utilisez as const.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.