Sobes.tech
Back to questions
Middle
1

Знакома ли с типом unknown? Чем он отличается от any?

Companies where asked
Электронные офисные системы

Answer from AI

sobes.tech AI

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

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

Пример:

let value: unknown = "hello";

// Ошибка: Object is of type 'unknown'.
// console.log(value.length);

if (typeof value === "string") {
  console.log(value.length); // теперь безопасно
}

let anything: any = "hello";
console.log(anything.length); // работает без ошибок

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