几乎任何类型来自"any"(任何,但一种除外)



是否可以在 Typescript 中将类型分配给变量,其值可以是"any"中的任何值,但有一个(或任何其他数量(。例如:

let variable: NOT<any, 'number'>

此变量绝对可以是除"数字"之外的任何类型。

在 Typescript 中有一个Exclude助手,它利用了 v2.8 中引入的条件类型。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

相关内容

最新更新