Narrowing هو الطريقة التي يقوم بها TypeScript بتحديد نوع واسع (مثل union) إلى نوع أكثر تحديداً ضمن فرع من الكود، بناءً على فحوصات وقت التشغيل. يتتبع المترجم تدفق التحكم ويحدث النوع وفقاً لذلك.
ts
() {
( x === ) {
x.();
} {
x.();
}
}
