我有一个声明为任何类型的打字稿对象。 现在,我需要在这些对象的实例之后添加一个字段。 我知道我可以做到
myObject.myProperty = 'true';
但是不幸的是,我需要添加的属性包含连字符,所以这是不可能的。
我尝试过:
myObject['my-property'] = 'true';
和
Object.defineProperty(body,'my-property','true');
但是他们两个都失败了。 有没有办法在打字稿上做到这一点(无需序列化为原始字符串或json)?
答案 0 :(得分:0)
我建议使用来映射类型。 &
运算符
let fn = (anyItem: { myProperty: string } & { [key: string]: any }) => {
anyItem.myProperty // string
anyItem.otherProperty // any
}
{ [key: string]: any }
表示此类型的任何键都将返回any
,但与{ myProperty: string }
合并后将在myProperty
键上正常运行