TypeScriptTypes de base

void

Le type renvoyé par les fonctions qui ne renvoient rien.

Sur cette page

Exemple

#
TypeScript
function logProgress(done: number, total: number): void {
  const percent = Math.round((done / total) * 100)
  console.log(`Progression : ${percent}%`)
}

const result = logProgress(3, 8)
console.log(result)
Résultat
Progression : 38%
undefined

Définition et utilisation

#

Le type void signifie l’absence de valeur de retour utile. Une fonction qui se contente de faire quelque chose (afficher, enregistrer, changer un état) sans renvoyer de résultat a le type de retour void.

En pratique, une telle fonction renvoie undefined, mais void communique une intention : « n’utilisez pas le résultat ». Le compilateur signale une erreur si vous essayez d’en renvoyer une valeur concrète.

Dans le type d’une fonction de rappel, void est plus permissif : (item: string) => void permet de passer une fonction qui renvoie effectivement quelque chose. Le résultat est simplement ignoré, ce qui rend par exemple arr.forEach(x => list.push(x)) correct.

Syntaxe

#
Syntaxe
function name(): void {
  …
}

Plus d’exemples

#
Un type de fonction de rappel avec void
TypeScript
const saved: string[] = []
const onSave: (value: string) => void = (value) => saved.push(value)

onSave('Module 1')
console.log(saved)
Résultat
['Module 1']

Bonnes pratiques

#
  • Ajoutez le type de retour void en particulier aux fonctions publiques et aux gestionnaires d’événements. Le code indique alors directement que le résultat n’a pas d’importance.
  • Une fonction asynchrone sans résultat a le type Promise<void>.

Entrées associées

#

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