小编Rob*_*soa的帖子

使用 Object.assign() 时如何忽略只有 getter 的属性?

我有一个没有定义类型的对象源,但代表一个类型对象。所以我正在使用 Object.assign(target, source)。但我的类具有 getter 属性(因为它们是其他属性的计算结果)。

一个例子:

source: {
  a: 1,
  b: 2,
  sum: 3
}

class SomeClass {
  a: number;
  b: number;

  get sum(): number {
    return a + b;
  }
}

someFunction() {
  let obj = new SomeClass();
  Object.assign(obj, source);
}
Run Code Online (Sandbox Code Playgroud)

在上述情况下,我收到错误: Cannot set property sum of [object Object] which has only a getter

有什么方法可以让 Object.assign() 忽略源对象中的这些属性吗?

ecmascript-5 typescript

5
推荐指数
1
解决办法
1387
查看次数

标签 统计

ecmascript-5 ×1

typescript ×1