var [x,y] = [1,2]
[x,y] = [y,x]
console.log(x=${x},y=${y}
)
就是这个代码,为什么返回x=undefined y=undefined
因为你没有打分号,语义变了
var [x,y] = [1,2];
[x,y] = [y,x]
根据 JavaScript 的自动分号插入规则,有些情况是不会自动插入分号的,比如用方括号开头,所以这个时候必须自己添加分号
这段代码应该是使用了解构赋值的语法,将数组中的值分别赋值给x和y,然后将x和y的值互换。正确的代码应该是这样的:
javascript
let [x,y] = [1,2];
[x,y] = [y,x];
console.log(x=${x}, y=${y}
);
代码运行结果为:x=2, y=1
如果你的代码中返回x=undefined y=undefined,有可能是因为console.log语句中的变量使用了错误的语法,导致了解析错误。请尝试修改console.log语句,将反引号(``)替换为单引号('')或双引号(""),看看是否可以正确输出结果。
我前面用一般赋值的方法,后面用解构的方法可以了,但是为什么呢?
– 阿呆不是勺 1年前