我到处找了找,还是没有找到一个可行的答案。
如何动态地将值从一个对象Map到'this',而不修改Typescript中的目标?
const bigTodo = {
name: "aaaaaaa",
unwantedProperty: "Nooooooo"
}
.....
export class SmallTodo {
name: string;
constructor(bigTodo: any){
_.assign(this,bigTodo) // NOT working
_.assignIn(this,bigTodo) // NOT working
_.merge(this,bigTodo) // NOT working
_.extend(this,bigTodo) // NOT working
Object.assign(this, fields); // NOT working
for (const prop in bigTodo.keys()) {
if (this.hasOwnProperty(prop)) {
this[prop] = bigTodo[prop]; // NOT working not compatible with type 'any'
}
}
}
}
预期结果:
SmallTodo = {
name: "aaaaaaa"
}
意外结果:
SmallTodo = {
name: "aaaaaaa",
unwantedProperty: "Nooooooo"
}
1条答案
按热度按时间lnvxswe21#
当你用某个值初始化属性的时候,你可以调用getOwnProperty。