Ví dụ, nó có thể hữu ích trong khi tạo các kiểu nâng cao hơn để chỉ ra những gì chúng không phải là. Ví dụ, hãy khai báo kiểu NonNullable của riêng chúng ta:
type NonNullable<T> = T extends null | undefined ? never : T;
Ở đây chúng ta đang kiểm tra xem T là null hay undefined. Nếu đúng như vậy thì chúng ta đang chỉ ra rằng điều đó sẽ không bao giờ xảy ra. Sau đó, trong khi sử dụng kiểu này:
let value: NonNullable<string>;
value = "Test";
value = null; // error