Paramètres de type par défaut

La valeur que prend un paramètre de type quand il n’est ni fourni ni déduit.

Sur cette page

Exemple

#
TypeScript
type ApiResult<TData = unknown, TError = string> =
  | { ok: true; data: TData }
  | { ok: false; error: TError }

const plain: ApiResult = { ok: false, error: 'timeout' }
const typed: ApiResult<number[]> = { ok: true, data: [1, 2, 3] }

console.log(plain.ok ? 'données' : plain.error)
console.log(typed.ok ? typed.data.length : 0)
Résultat
timeout
3

Définition et utilisation

#

Un paramètre de type peut avoir une valeur par défaut, notée comme dans les fonctions : type Response<T = unknown>. Si quelqu’un utilise le type sans fournir le paramètre, la valeur par défaut est utilisée.

Cela facilite l’usage des types génériques dans les cas simples, sans perdre en flexibilité dans les cas complexes. C’est ainsi que fonctionne par exemple Promise dans de nombreuses bibliothèques, ou les types des composants React.

Les paramètres avec des valeurs par défaut doivent venir après les paramètres requis, et la valeur par défaut doit respecter une éventuelle contrainte extends.

Syntaxe

#
Syntaxe
type Name<T = DefaultType> = …
function f<T = DefaultType>() { … }

Bonnes pratiques

#
  • Les paramètres de type par défaut sont un bon endroit pour unknown, qui impose de vérifier les données, plutôt que any.
  • Placez les paramètres les plus souvent modifiés au début de la liste, et ceux avec des valeurs par défaut sensées à la fin.

Entrées associées

#

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