答案 0 :(得分:1)
通过将实例的属性复制到新对象(例如{ ...init }
)中,您将拥有一个新的 plain 对象,该对象不继承自Init.prototype
:< / p>
// Look at results in browser console, not snippet console:
class Init {
constructor() {
this.item = 'item';
}
}
// Your original situation:
const arrOfInits = [new Init(), new Init()];
console.log(arrOfInits);
// Assign all properties on instance to standard object:
const arrOfObjects = arrOfInits.map(init => ({ ...init }));
console.log(arrOfObjects);
不过,您仍然应该能够在init
实例上访问属性,而无需任何特殊代码:
// Look at results in browser console, not snippet console:
class Init {
constructor() {
this.item = 'item';
}
}
// Your original situation:
const arrOfInits = [new Init(), new Init()];
console.log(arrOfInits[0].item);