关于javascript:无法在构造函数中指定它

Can't assign this in constructor

本问题已经有最佳答案,请猛点这里访问。

我正在尝试将values的道具合并到this中。

下面将引发一个错误。我该怎么做?

1
this = {...this, ...values}


可以使用object.assign方法扩展this

1
2
3
4
5
6
7
8
class Foo {
  constructor (props) {
    Object.assign(this, props);
  }
}

const foo = new Foo({ a: 1 });
console.log(foo.a); // 1

看到您使用了Spread运算符,看起来您正在使用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);