type Not200 = Exclude<number, 200>
发现上面这种是不行的
ps. 希望可以用在变量声明上,让let a:Not200 = 200能报错
let a:Not200 = 200
可以用泛型来约束
type Not200<T> = T extends 200 ? never : number
演示使用
// 以下两种方式都可以 // declare function fn<T extends Not200<U>, U = T>(value: T): void; declare function fn<T>(value: T & Not200<T>): void; fn(200); // error fn(201); // ok...
在 TS Playground Link 中查看
2.1m questions
2.1m answers
60 comments
56.7k users