• 对象的解构赋值(基本用法1)


    (1)基本用法

    解构不仅可以用于数组,还可以用于对象。

    1. // 如果变量名与属性名不一致,必须写成下面这样。
    2. let {foo:fj} = {foo:'aaa', bar:'bbb'};
    3. console.log(fj);
    4. let {foo:f1,bar:b1} = {foo:'aaa', bar:'bbb'};
    5. console.log(f1);
    6. console.log(b1);

    console输出效果

    对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

    1. // 对象的解构赋值 (正确的解构)
    2. let {foo, bar} = {foo:'aaa', bar:'bbb'}
    3. console.log(foo)
    4. console.log(bar)
    5. // 对象的解构赋值 (正确的解构)
    6. let { bar, foo } = { foo: 'aaa', bar: 'bbb' };
    7. foo // "aaa"
    8. bar // "bbb"

     console输出效果


     

    1. // 取出对象的某一个属性,解构赋值到左边的变量中 (正确的解构)
    2. let {bar} = {foo:'aaa', bar:'bbb'}
    3. console.log(bar)

      console输出效果

    // 对象的解构赋值 (错误的解构)
    let {foo1, bar1} = {foo:'aaa', bar:'bbb'}
    console.log(foo1) // undefined
    console.log(bar1) // undefined


    let { baz } = { foo: 'aaa', bar: 'bbb' };
    baz // undefined

    1. // 对象的解构赋值
    2. // 解构目标 = 解构的源
    3. {
    4. let {foo, bar}= {foo:'小名', bar:'lili'};
    5. console.group('对象的解构赋值:')
    6. console.log(foo)
    7. console.log(bar);
    8. }
    9. {
    10. // 对象的解构赋值 (正确的解构)
    11. // 对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
    12. // 变量与属性同名,只是位置不同,它是可以取到值的。
    13. let {bar, foo}= {foo:'小名', bar:'lili'};
    14. console.group('对象的解构赋值:')
    15. console.log(bar);
    16. console.log(foo);
    17. // 变量与属性不同名,是 取不到值的。
    18. let {ba, fo}= {foo:'小名', bar:'lili'};
    19. console.group('对象的解构赋值:')
    20. console.log(ba);
    21. console.log(fo);
    22. }

       console输出效果

    上面代码的第二个例子,等号左边的两个变量的次序,与等号右边两个同名属性的次序不一致,但是对取值完全没有影响。第五个例子的变量没有对应的同名属性,导致取不到值,最后等于undefined。

    如果解构失败,变量的值等于undefined。

    let {foo} = {bar: 'baz'};
    foo // undefined 

     上面代码中,等号右边的对象没有foo属性,所以变量foo取不到值,所以等

  • 相关阅读:
    阿里P8架构师进阶心得:分布式数据库架构MyCat学习笔记送给你
    redis未授权访问漏洞
    Linux命令(107)之basename
    XTU-OJ 1281-Cute String
    分析网上的一篇“浪漫烟花“程序<VS-C++>
    Python怎么打印彩色字符串
    【无标题】
    史上最全的Python包管理工具:Anaconda教程
    基于STM32 ZigBee无线远程火灾报警监控系统物联网温度烟雾
    Is the docker daemon running问题解决方法
  • 原文地址:https://blog.csdn.net/m0_71814235/article/details/126229573