打字稿:一般类型被推断为文字类型

时间:2019-02-06 17:54:49

标签: typescript typescript-typings

存在一个问题,其中“ f<T>(val:T) {}; f(5);”导致T的字面类型为5而不是Number。我是否可以在此指定我不希望使用文字类型,因为在这种情况下,我希望T为数字(或任何非文字)?

1 个答案:

答案 0 :(得分:0)

Name value Date ID Ba 100 01-01 2 He 105 01-01 1 Ha 102 01-01 4 Ke 104 01-01 3 Ba 101 01-02 2 He 104 01-02 1 Ha 103 01-02 4 Ke 105 01-02 3 将为您做到这一点,但也会阻止任何数字类型

extends number

但是将地图号添加到5中将适用于任何类型

let f1 = <T extends number>(val: T) => val;
let result1 = f1(5); // 5
let result2 = f1(true) // Error