我正在尝试将values
中的道具合并到this
中。
以下引发错误。我怎么能这样做?
this = {...this, ...values}
答案 0 :(得分:19)
您可以使用Object.assign方法扩展this
:
class Foo {
constructor (props) {
Object.assign(this, props);
}
}
const foo = new Foo({ a: 1 });
console.log(foo.a); // 1
答案 1 :(得分:1)
看到您使用点差运算符,您似乎正在使用ECMAScript的第3阶段提案。
https://github.com/tc39/proposal-object-rest-spread
尝试使用Object.assign方法:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
Object.assign()方法用于将所有可枚举的自有属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
Object.assign( target , ... sources );