美文网首页
ES6 Destructuring Assignment (解构

ES6 Destructuring Assignment (解构

作者: 曹操吃瓜 | 来源:发表于2017-12-12 10:42 被阅读0次

    数组的解构赋值

    更简单明了地定义变量

    var a=1; var b=2; var c=3; //es5
    let [a,b,c] = [1,2,3] //es6
    

    设定默认值

    let [a,b,c,d=4] =[1,2,3]
    d // 4
    

    如果一个数组成员是null,默认值就不会生效,因为null不严格等于undefined

    let [x = 1] = [null];
    x // null
    

    如果默认值是一个function,那么她是惰性求值的。

    let [x = f()] = [1]
    

    对象的解构赋值

    引用模块

    var jsonMiddleware = require('body-parser').jsonMiddleware //es5
    var {jsonMiddleware} = require('body-parser') //es6
    

    从后端取到的Json处理

    let res = {
      flag:1,
      id:2003923,
      data:[{{type: "work", subject: "business"},{...},...]
    }
    let {flag , id , data} = res
    

    解构对象里的方法

    let {pow} = Math
    console.log(pow(3,2)) //9
    

    字符串的解构赋值

    let {length : len} = 'pink';
    len // 4
    

    函数参数的解构赋值

    参数可以是一个数组

    [[1, 2], [3, 4]].map(([a, b]) => a + b);
    // [ 3, 7 ]
    

    也可以是一个对象,甚至有她的默认值。

    let obj = {1,2}
    function test({a=10,b}) {
    return a+b
    }
    test(obj) 
    

    相关文章

      网友评论

          本文标题:ES6 Destructuring Assignment (解构

          本文链接:https://www.haomeiwen.com/subject/audgixtx.html