这是返回对象副本的正确方法吗?
class ObjectWrapper {
private _ obj;
/***
* Copy object of argument to this._ obj
*/
constructor (_obj: Object) {
this._obj = _obj;
}
/**
Return copy of * this._ obj (Return copy this._ obj)
* @return Object
*/
get obj () {
return this._obj;
}
我真的很想知道“退还副本”是什么意思
答案 0 :(得分:2)
否,您要返回原始对象。您可以通过多种方法在JS中复制对象。
通过Object.assign()
的传统方式:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
Object.assign()方法仅将可枚举的属性和自己的属性从源对象复制到目标对象。
使用spread
运算符的ESNext方法:
const source = { a: 1, b: 2 };
const target = {...source};
ECMAScript建议的“休息/扩展属性”(阶段4)将扩展属性添加到对象文字中。它将自己的可枚举属性从提供的对象复制到新对象。