1数组解构赋值

{
  let [a, b, ...c] = [1, 2, 3, 4, 5, 6]
}

结果1  2  [3, 4, 5, 6]

let [a, b, c = 3] = [1, 2]

2对象解构赋值

{
  let {a, b} = {a: 1, b: 2}
}

结果1 2

场景1 变量交换

  let a = 1
  let b = 2;
  [a, b] = [b, a]

场景2

  let fn = () => {
    return [1, 2]
  }
  let [a, b] = fn()

场景3

  let fn = () => {
    return [1, 2, 3, 4, 5, 6, 7, 8, 9]
  }
  let [a,, ...b] = fn()

场景4  

  let obj = {
    a: 1,
    b: true
  }
  let {a, b} = obj

场景5

let people = {
    name: 'susan',
    age: 20,
    gameCharacters: {
      name: 'apple'
    }
  }
  let {name: pname, gameCharacters: {name: gname}} = people

这个场景出现两个相同的name,那么给name指定接受的变量即可

  

posted on 2018-11-27 23:39  苏荷酒吧  阅读(77)  评论(0)    收藏  举报