为什么当右侧索引被修改时,数组值的赋值行为会有所不同? [重复]

问题描述 投票:0回答:0

我注意到数组值的赋值有两种不同的行为,例如

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++ 的行为更自然。

javascript c++ variable-assignment
© www.soinside.com 2019 - 2024. All rights reserved.