【发布时间】:2018-06-08 23:03:01
【问题描述】:
当使用解构赋值和变量作为属性名称时,Typescript 似乎失去了类型。
interface O {
[val: string]: string;
}
const o: O = {
foo: ''
};
const f = (name: string) => {
const {[name]: value} = o;
// now `value` has type any, how to make it type `string`?
const value1 = o[name] || '';
// and `value1` has correct type `string`
};
【问题讨论】:
-
这实际上看起来像是 TypeScript 中的一个错误,我建议你在他们的问题中搜索,如果没有找到,请打开一个。
-
是a bug。
-
我遇到了 Angular 2 的一些问题。如果您尝试从对象表示法分配,则类型会变得混乱。
标签: typescript types destructuring