首页 > 解决方案 > 为什么 TypeScript 不检查这个字典键的类型?

问题描述

我根据现有答案创建了一本字典。但似乎编译器检查值的类型,而不是键。111当键类型为字符串(第三次赋值)时,我可以用作键。这是怎么回事?第三次分配不应该也会导致错误吗?

var dic: { [name: string]: string } = {};

dic["aaa"]=111;
dic["bbb"] = "111";
dic[111] = "111";

输出

test.ts:3:1 - error TS2322: Type 'number' is not assignable to type 'string'.

3 dic["aaa"]=111;
  ~~~~~~~~~~

Found 1 error.

在此处输入图像描述

标签: typescript

解决方案


推荐阅读