在一个翻转二叉树的题里,我看到有人这么写
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去存值可以直接这么写啊?
谢谢老师解答。