我注意到数组值的赋值有两种不同的行为,例如
arr[i] = ++i
。
在 C++ 中
int arr[] = {0,0};
int i = 0;
arr[i] = ++i;
cout << arr[0] << ',' << arr[1] << endl;
// the output is 0,1
但是在 JavaScript 中
let arr = [0,0]
let i = 0
arr[i] = ++i
console.log(arr)
// the output is [1,0]
为什么会有这样的差异?我认为 C++ 的行为更自然。