Sobes.tech
Назад к вопросам
Middle
2

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

Компании, где спрашивали
Электронные офисные системы

Ответ от нейросети

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 полезен, когда нужно принимать значения неизвестного типа, но при этом сохранять строгую типизацию и безопасность.