Narrowing on tapa, jolla TypeScript tarkentaa laajan tyypin (kuten unionin) spesifimmäksi tyypiksi koodin haarassa ajonaikaisiin tarkistuksiin perustuen. Kääntäjä seuraa ohjauksen virtausta ja päivittää tyypin vastaavasti.
ts
() {
( x === ) {
x.();
} {
x.();
}
}
