Kenalan dengan Type Narrowing TypeScript
Type guard sederhana typeof dan in operator untuk meyakinkan compiler soal tipe data.
TypeScript sering protes “Object is possibly undefined” padahal kita yakin datanya ada. Solusinya: narrowing.
function cetakPanjang(input: string | string[]) {
if (typeof input === "string") {
return input.length; // di sini input pasti string
}
return input.length; // di sini input pasti string[]
}
Dengan typeof, instanceof, atau operator in, compiler bisa menyempitkan tipe di tiap cabang. Kode aman, tidak
perlu as yang berisiko.