В настоящее время выполняется некоторая работа с Proxies, которая требует, чтобы указанный прокси сохранялся в массиве, а затем был получен из этого массива при вызове определенной функции. Эта функция действует, чтобы переназначить значение объекта на нечто совершенно другое. То есть:
function proxChange(proxies, index, val) {
proxies[index] = val;
}
var a = new Proxy({}, {//Handler stuff});
var proxies = [];
proxies.push(a);
proxChange(proxies, 0, 2);
Теоретически теперь должен просто быть 2, однако, остается в качестве исходного прокси - сервера. a
Интересно, однако, что если я присваиваю значение свойству прокси, то есть: proxies[index]['prop'] = val
, присваивание свойства показывает, когда вы проверяете a
.
Кто-нибудь может понять, что здесь происходит?
Вы просто присваиваете значение элементу массива.
function proxChange(proxies, index, val) {
proxies[index] = val;
}
var a = new Proxy({}, {});
var proxies = [];
proxies.push(a);
proxChange(proxies, 0, 2);
console.log(typeof a, a);
console.log(typeof proxies[0], proxies[0]);