在Typescript中是否可以将类型分配给变量,该变量的值可以是“any”中的任意值,但不能是一个(或任何其他数量)。例如:
let variable: NOT<any, 'number'>
在Typescript中有 Exclude Exclude<T, U> 只是 T extends U ? never : T ,即如果 val 在下面的例子中,恰好是 number 它将失败,因为 never T :
Exclude
Exclude<T, U>
T extends U ? never : T
val
number
never
T
function test<T>(val: Exclude<T, number>): void { console.log('not a number!'); } test('a'); test([1]); test(1); // fails