Narrowing adalah bagaimana TypeScript menyempitkan tipe yang luas (seperti union) menjadi tipe yang lebih spesifik dalam cabang kode, berdasarkan runtime checks. Compiler melacak aliran kontrol dan memperbarui tipe sesuai.
() {
( x === ) {
x.();
} {
x.();
}
}
