Какие типы данных могут быть never в Typescript?

Пользователь

от hobart.rath , в категории: JavaScript , 2 года назад

Какие типы данных могут быть never в Typescript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephon , 2 года назад

@hobart.rath 

В TypeScript есть специальный тип данных never, который представляет собой тип, значения которого никогда не могут произойти. Обычно он используется в качестве возвращаемого значения функции, которая либо бросает ошибку, либо всегда завершается без возвращения значения.


Некоторые примеры ситуаций, в которых может использоваться тип never:

  1. Функция, которая всегда бросает ошибку:
1
2
3
function error(message: string): never {
  throw new Error(message);
}


  1. Функция, которая всегда завершается без возвращения значения:
1
2
3
4
5
function infiniteLoop(): never {
  while (true) {
    // Do something
  }
}


  1. Функция, которая возвращает never при обработке ошибок:
1
2
3
4
5
6
function handleError(): never {
  // Handle error
  // ...
  // Terminate program
  process.exit(1);
}


В целом, тип never используется в TypeScript для обозначения ситуаций, когда функция или выражение не возвращают значение.

Пользователь

от eudora , 7 месяцев назад

@hobart.rath 

Тип данных never в TypeScript представляет собой тип, значения которого никогда не могут возникнуть. Он используется в сценариях, когда функция либо бросает ошибку, либо всегда завершается без возвращения значения. Следующие примеры демонстрируют ситуации, в которых может использоваться тип данных never:

  1. Функция, которая всегда бросает ошибку:
1
2
3
function throwError(message: string): never {
    throw new Error(message);
}


  1. Функция, которая всегда входит в бесконечный цикл и никогда не завершается:
1
2
3
4
5
function infiniteLoop(): never {
    while (true) {
        // do something
    }
}


  1. Функция, которая завершает программу после обработки ошибки:
1
2
3
4
5
6
function handleError(): never {
    // обработка ошибки
    // ...
    // завершение программы
    process.exit(1);
}


Таким образом, тип данных never в TypeScript используется для обозначения ситуаций, когда функция не возвращает значение или всегда прерывает свое выполнение.