【发布时间】:2018-02-22 14:15:18
【问题描述】:
interface SkillProperty {
[name: string] : number
};
let skills: SkillProperty;
skills = {}; // ok
skills = { fire: 123 }; // ok
skills = {
...skills, // ok
...{}, // ok
...extraSkills() // {} | { ice: number } is not assignable to type 'SkillProperty'.
}
function extraSkills() {
if (whatever) {
return {};
}
return { ice: 321 };
}
如何更改我的 SkillProperty 接口以使其与空对象和我的实际 SkillProperty 类型兼容?
【问题讨论】:
-
这在我看来像是 TypeScript 中的一个错误。
标签: typescript type-inference spread-syntax