Back to questions
Junior — Middle
95
Можете объяснить, что означает тип 'unknown' в TypeScript и чем он отличается от 'any'?
Answer from 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 полезен, когда нужно принимать значения неизвестного типа, но при этом не терять безопасность типов.