Я хочу знать, как for .. in
может иметь любой побочный эффект?
let arr = [1.1, 2.2];
let obj = {x: 1, y: 1, z: 1};
for(let prop in obj) {
...
}
Учитывая приведенный выше фрагмент кода, возможно ли изменить некоторые элементы в arr
при for .. in
, а не в теле цикла?
В настоящее время я анализирую JIT-компилятор JavaScriptCore, DFG предполагает, что GetPropertyEnumerator
имеет побочный эффект, и я понимаю, что он может изменить какой-то другой объект в операторе for .. in
.
Но я не знаю, как это возможно.
Поэтому я хочу, чтобы это было возможно и, если возможно, как я мог это сделать.