不能在构造函数中赋值

这个问题在这里已经有了答案:

  • 我如何动态合并两个JavaScript对象的属性? 55个答案
  • 为什么我不能在原型函数中为“this”赋新值? 4个答案

  • 你可以用Object.assign方法扩展this

    class Foo {
      constructor (props) {
        Object.assign(this, props);
      }
    }
    
    const foo = new Foo({ a: 1 });
    console.log(foo.a); // 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);

    链接地址: http://www.djcxy.com/p/27333.html

    上一篇: Can't assign this in constructor

    下一篇: Update values from one json object to another in node JS