NonNullable<T> loại bỏ null và undefined khỏi type T: NonNullable<string | null | undefined> cho ra string.
- Tương đương với
Exclude<T, null | undefined>. - Hay dùng sau khi đã kiểm tra null ở runtime nhưng TypeScript vẫn chưa tự narrow được — ví dụ kết quả từ
Array.find()có typeT | undefined, sau khi guard check có thể cast vềNonNullable. - Với strictNullChecks bật, đây là utility cần thiết để làm việc với optional values an toàn.