Sobes.tech
Junior — Middle
111

TypeScript-те 'unknown' типі не білдіреді және ол 'any'-дан қалай ерекшеленеді?

AI-дан жауап

sobes.tech AI

В TypeScript тип unknown представляет собой тип, который может содержать любое значение, но при этом требует проверки типа перед использованием. Это более безопасная альтернатива типу any.

Основные отличия unknown от any:

  • any отключает проверку типов, позволяя делать с переменной всё что угодно без ошибок компиляции.
  • unknown требует явной проверки типа или приведения типа перед использованием, что повышает безопасность кода.

Пример:

let valueAny: any = 10;
let valueUnknown: unknown = 10;

// Можно вызвать метод без ошибок с any
valueAny.toFixed(2);

// С unknown нужно проверить тип
if (typeof valueUnknown === 'number') {
  valueUnknown.toFixed(2); // теперь безопасно
}

Таким образом, unknown полезен, когда нужно принимать значения неизвестного типа, но при этом не терять безопасность типов.