Javascript对象交换属性值

182 阅读1分钟

假设我们有

let a = {
  val: 'a',
  value: 1
}
let b = {
  val: 'b',
  value: 2
}

现在需要交换a.value和b.value的值,应该怎么操作

方案一

使用中间变量,接收一下

let temp = a.value
a.value = b.value
b.value = temp

方案二

使用解构赋值

let a = {
  val: 'a',
  value: 1
}
let b = {
  val: 'b',
  value: 2
};
[a.value, b.value] = [b.value, a.value]

注意变量b的声明接受后,需要加上; 作为分割或者使用花括号将解构操作放在一个独立的代码块中,有知道原因的大佬可以在评论区留言