История изменений
Исправление runtime, (текущая версия) :
Получается, что верить нельзя, надо доп. проверки (и несколько раз)
Не надо там никаких дополнительный проверок, нужно сразу проверять то, что ты хочешь:
if (Array.isArray(strs)) {
// strs is string[] here
for (const s of strs) {
console.log(s);
}
}
Тебе там учебный пример привели, чтобы ты понял, как оно работает, а ты думаешь, что это production quality код.
Если не хватает встроенных проверок, всегда можно написать свой type guard:
function myStuff(x: any): x is Stuff {
// do your checks here, return boolean
return true;
}
Исправление runtime, :
Получается, что верить нельзя, надо доп. проверки (и несколько раз)
Не надо там никаких дополнительный проверок, нужно сразу проверять то, что ты хочешь:
if (Array.isArray(strs)) {
// strs is string[] here
for (const s of strs) {
console.log(s);
}
}
Тебе там учебный пример привели, чтобы ты понял, как оно работает, а ты думаешь, что это production quality код.
Исходная версия runtime, :
Получается, что верить нельзя, надо доп. проверки (и несколько раз)
Не надо там никаких дополнительный проверок, нужно сразу проверять то, что ты хочешь:
if (Array.isArray(strs)) {
for (const s of strs) {
console.log(s);
}
}
Тебе там учебный пример привели, чтобы ты понял, как оно работает, а ты думаешь, что это production quality код.