2018-12-28关于ES6的解构赋值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>



<script>
    // 注意:花括号放在行首被认为不是对象,除非你加括号或者不要放在行首,如下:
    let x1,x2;
    ({x1,x2}={x1:1,x2:2})



    // 如果后面的值不够,或定义为undefind,则s会使用默认值5
    let [x,y,n,s=5]=[1,2,3];

    // 如果变量名和属性名一样,可以直接省略写法
    //let {name:name,age:age}={name:"珠峰",age:10}原本应该这样写
    let {name,age}={name:"大海",age:10}
    console.log(name,age);//大海,10

    // 如果后面的ag不存在,或定义为undefind,则ag会使用默认值ag
    let {nam,ag=10}={nam:"大海",ag:100}
    console.log(nam,ag);//大海,100

    // 使用数组的解构赋值形式,如果等号右边不是数组,会被默认转化为类数组对象,必须有一个length属性
    let [a,b]="357";
    console.log(a,b);//3,5



    //使用对象的解构赋值,如果等号右边不是对象,默认转化为对象,再进行解构赋值。
    let {c}=1;
    console.log(c);
    console.log(object(1));//{__proto__:}

    // 关于函数的结构赋值有空再写,有点事
    // 2018年12月28日22:15分,我刚刚得知一个悲痛的消息,有一位亲人永远的离我而去!!!T_T
    // 你受苦了,丹彩,你才28岁。我们永远不会忘记你。每个人也都有这么一天。
    // 希望生活善待每一个人,希望每个人都健康。珍惜生命,珍惜当下,珍惜身边的人,尤其是自己的亲友们。
    // author:Kason
</script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容