TypeScriptTypy podstawowe

void

Typ zwracany przez funkcje, które nic nie zwracają.

Na tej stronie

Przykład

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

const result = logProgress(3, 8)
console.log(result)
Wynik
Postęp: 38%
undefined

Definicja i zastosowanie

#

Typ void oznacza brak użytecznej wartości zwracanej. Funkcja, która tylko coś robi (wypisuje, zapisuje, zmienia stan), a nie zwraca wyniku, ma typ zwracany void.

W praktyce taka funkcja zwraca undefined, ale void komunikuje zamiar: „nie korzystaj z wyniku”. Kompilator zgłosi błąd, jeśli spróbujesz zwrócić z niej konkretną wartość.

W typach funkcji zwrotnych void jest luźniejszy: (item: string) => void pozwala przekazać funkcję, która coś zwraca. Wynik zostanie po prostu zignorowany, dzięki czemu na przykład arr.forEach(x => list.push(x)) jest poprawne.

Składnia

#
Składnia
function nazwa(): void {
  …
}

Więcej przykładów

#
Typ funkcji zwrotnej z void
TypeScript
const saved: string[] = []
const onSave: (value: string) => void = (value) => saved.push(value)

onSave('Moduł 1')
console.log(saved)
Wynik
['Moduł 1']

Dobre praktyki

#
  • Typ zwracany void dopisuj szczególnie w funkcjach publicznych i obsługach zdarzeń. Kod mówi wtedy wprost, że wynik nie ma znaczenia.
  • Funkcja asynchroniczna bez wyniku ma typ Promise<void>.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.