【发布时间】:2020-04-16 14:44:47
【问题描述】:
我使用对象来存储地图,键是字符串,值是固定类型 T。
当在对象中查找键时,类型推断会为其分配类型 T。
但它可能是未定义的。
在以下示例中,我希望条目的类型为 number|undefined。但是打字稿推断出类型number。这似乎不正确:
const data: {[index:string]: number} = {
"aa34da": 1,
"basd23": 2,
"as34sf": 5
};
const entry = data["doesn't exist"];
console.log(entry);
这是类型推断中的错误吗?
我知道 ES6 Map,它提供了一个 get() 方法,正是我所期望的签名。但是 Map 不能很好地与 JSON 序列化配合使用。我宁愿只使用对象。
【问题讨论】:
标签: javascript typescript serialization