Обращение к свойству у значения типа unknown в strict-режиме
Проект собирается на TypeScript со строгими проверками.
function getLength(raw: unknown) {
return raw.length;
}
Что будет при компиляции этого кода?
- Компилятор сообщит об ошибке: у значения типа unknown нельзя читать свойства, тип нужно сузить проверкой.
- Ошибки не будет: unknown ведёт себя как any и разрешает любое обращение, а проверка нужна только для объединений типов.
- Компилятор выведет тип string автоматически, потому что видит обращение к length.
- Ошибки не будет при сборке, но код гарантированно упадёт в рантайме на любом аргументе.
