打字稿:索引签名,数字为“1” 2 | 3`

时间:2018-03-23 23:18:25

标签: typescript

type A = {[K in '1' | '2']: string} // ok
type B = {[K in 1 | 2]: string} // error

enter image description here

有没有正当理由,我没有在github上找到问题,但是先决定先问一下这个问题?

1 个答案:

答案 0 :(得分:1)

js对象的键是字符串。在javascript中,它将被转换,并且在使用字符串或整数访问密钥时将返回正确的结果。

var a = {1:10};
console.log(a[1]);
console.log(a['1']);

但他们正严格检查。 喜欢这里

parseInt(false);