Назад к вопросам
Транснефть
Middle
1
Что такое unknown в TypeScript и чем он отличается от any?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В TypeScript unknown — это тип, который представляет значение неизвестного типа. Он более строгий, чем any, потому что с unknown нельзя просто так выполнять операции или присваивать его другим типам без проверки типа.
Основные отличия unknown от any:
anyотключает проверку типов, позволяя делать с переменной что угодно, что может привести к ошибкам во время выполнения.unknownтребует, чтобы перед использованием значения была проведена проверка типа или приведение, что повышает безопасность кода.
Пример:
let a: any = 10;
let b: unknown = 10;
let c: number;
c = a; // ОК, any можно присвоить любому типу
c = b; // Ошибка: нельзя присвоить unknown без проверки
if (typeof b === 'number') {
c = b; // ОК, после проверки типа
}
Таким образом, unknown полезен, когда нужно принимать значения неизвестного типа, но при этом сохранить безопасность типов.