Я создал модуль, который я использую для записи глобального массива следующим образом:Javascript - получить значение объекта недвижимости НЕ ссылки
class SomeLibrary {
constructor(product) {
if (typeof window.globalArray === 'undefined'){
window.globalArray = [];
}
this._someVal = 0;
}
.
.
.
addToGlobalArray(obj) {
obj.someVal = this._someVal;
window.globalArray.push(obj);
this._someVal++
}
.
.
.
.
}
let someLib = new SomeLibrary();
someLib.addToGlobalArray({test: 'hello'})
someLib.addToGlobalArray({test: 'hello again'});
И хочу, чтобы мой «globalArray на„someVal“, чтобы использовать текущее значение из _someVal из модуля не ссылка результата выглядеть следующим образом:
//I want this outcome
[
{test: 'hello', someVal: 0},
{test: 'hello again', someVal: 1}
]
не (как это в настоящее время работает)
//I don't want this outcome
[
{test: 'hello', someVal: 1}, //someVal here is 1 as it is a reference to the current value of _someVal in the module
{test: 'hello again', someVal: 1}
]
Что мне нужно сделать, чтобы передать значение, а не ссылочный в глобальный объект?
(я не имею доступа к JQuery или подчерк)
... за исключением '{get someVal() {return self._someVal; }} ' – Bergi
@Bergi Спасибо, исправил ответ, чтобы отразить это. –