Основы Typescript
2026-02-26 18:23 Diff

В этом уроке мы рассмотрим тип void. Он указывается как возврат для функций, которые ничего не возвращают.

Тип void выводится автоматически, когда мы работаем с пустой функцией или если внутри функции нет инструкции return:

В JavaScript подобные функции возвращают undefined, но в TypeScript void и undefined — это разные вещи. Они различаются по контекстной типизации. А происходит это из-за особенностей работы самого JavaScript. Самый яркий пример — метод forEach().

Метод forEach() не использует данные, возвращаемые переданным колбеком, который вызывается внутри. Было бы логично определить возврат как undefined, но посмотрим на пример:

Метод push() возвращает новую длину массива. Если бы forEach() требовал от колбека возврат undefined, то такой код привел бы к ошибке компиляции. Его пришлось бы переписать. Например, так:

Тип void помогает не создавать такой код. Он позволяет возвращать любые данные, но делает их использование бессмысленным:

Существует единственная ситуация, когда указание void явно запрещает возврат из функции. Это определение функции вне контекста использования, когда ее тип указывается явно:

Еще void считается оператором JavaScript, поэтому важно не запутаться с ним. Он вычисляет выражение, которое следует за ним и возвращает undefined: