老师,请教一个关于解构赋值的问题
来源:2-36 Desctructuring

李小圆_
2020-06-05
在一个翻转二叉树的题里,我看到有人这么写
function invertTree(root) {
if (root) {
[root.left, root.right] = [invertTree(root.right), invertTree(root.left)];
}
return root;
}
但是我这么写就会报错
let obj = {
a: 1,
b: 2
}
[obj.a, obj.b] = [obj.b, obj.a]
console.log(obj)
请问这个赋值过程到底是怎么进行的,为什么上面翻转二叉树那里不需要一个temp去存值可以直接这么写啊?
谢谢老师解答。
写回答
1回答
-
慕粉1926294646
2020-06-12
同学你对数组的解构赋值没理解,你的写法等同于 [1,2]=[2,1] 肯定有问题,1,2不是变量
012020-06-14
相似问题