解构赋值

63 阅读1分钟

数组的解构赋值

    let arr = [1, 2, 3]
    let [a, b, c] = arr
    console.log(a, b, c); //1,2,3

对象的解构赋值

    let arr2 = {
      name: '小明',
      age: 20
    }
    let { name, age } = arr2
    console.log(name, age);//小明,20

字符串的解构赋值

    let arr3 = 'heelo'
    let [a, b, c, d, e] = arr3
    console.log(a, b, c, d, e);//h e e l o

解构赋值是惰性的,有对应的值时,初始值就不会被执行

   function foo() {
      console.log('你好');
    }
    let [k = foo()] = [1]
    console.log(k);//1 foo()不执行
    
     function foo() {
      console.log('你好');
    }
    let [k = foo()] = []
    console.log(k);//undefind  foo()执行