解构赋值

通过解构赋值,可以快速从对象或者数组中取出属性或者数值。

  1. 解构赋值

    可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量。

    const arr = ['dasha', 'ersha', 'gangdan']
    let [a, b, c] = arr	//a='dasha' b='ersha' c='gangdan'
    //假如需要交换ab的值 只需要
    [a, b] = [b, a]
    
  2. 解构赋值嵌套

    复杂的对象或者数组也可以使用这种方法。

    const arr = [1, [2,3,4], 5]
    let [a, [b,,d], c] = arr
    
    console.log(a)	// 1
    console.log(b)	// 2
    console.log(d) 	// 4
    
  3. 解构赋值的默认值

    给变量先设置好默认值,当数组或者对象中无法找到匹配的值,则将默认值赋给变量。

    let [a=1] = [100] // a=100
    let [b=1] = [] // b=1
    
  4. 解构赋值用在对象上时候,需要用键的方式

    const obj = {
        name:'shabi',
        age:12,
    }
    let{age} = obj
    
    // 为了防止age在上面被let定义过了,可以将age改名为ag
    let{age:ag, err="定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串"} = obj
    console.log(err)// '定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串'
    
  5. 解析一个从函数返回的数组

    获取返回值进行解构赋值,更加方便

    function test(){
        return [1,2,3]
    }
    let [x,y] = test()
    console.log(x)	//x = 1
    console.log(y)	//y = 2
    
  6. rest写法:将剩下的所有值赋值给一个变量

    这种写法只能适用于用在最后一位,无法用在开头或者中间,否则会报错。

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

原文地址:http://www.cnblogs.com/waterrec/p/16886780.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性