ES6语法(1)

对象字面量增强写法

  1. 属性简写
    定义: 与key值同名的属性变量,在被对象引用时可以简写为一个key
    let age = 18
    let perston = {
      age
    }
  2. 方法简写
    let person = {
      say(){} --> say:function(){}
    }
  3. 计算属性名(动态key)
    let key = 'age'
    let person = {
      [key +1 ] :18
    }
    console.log(person) --> { age1:18 }

解构

  1. 使用场景: 函数参数/接口回参的解构获取
    /* 对象解构 按key值进行解构*/
    const { age:value } = { age:18 }
    console.log(value) -->18
    
    // 只解构后面的元素
    const {,,c:d} = {a:1,b:2,c:3}
    console.log(d) -->3
    
    // 只解构第一个元素,其它元素收集到另外的对象里
    const { a, ...obj } ={a:1,b:2,c:3}
    console.log(obj) --> {a:1,c:3}
    
    // 对象解构默认值+对象属性简写
    const {a,b=1} = { a:2 } --> b:b = 1
    console.log(b) --> 1
    
    // 嵌套解构
    const {a:{b}} = {a:{b:2}}
    console.log(b) --> 2
    注意:此时的a对象则无法单独解构出来使用
    
    /* 数组解构 按索引顺序进行解构*/
    const [a,b,c] = [1,2,3]
    console.log(a) --> 1
    // 只解构后面的元素
    const [,,c] = [1,2,3]
    console.log(c) -->3
    
    // 只解构第一个元素,其它收集到其它数组里
    const [ a, ...arr ] = [1,2,3]
    console.log(arr) --> [2,3]
    
    // 数组解构默认值
    const [a,b=1] = [2]
    console.log(b) --> 1
    
    // 嵌套解构
    const [[f]] = [[1]]
    console.log(f) --> 1

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!