• 对象的解构赋值(基本用法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取不到值,所以等

  • 相关阅读:
    taro 兼容支付宝小程序和微信小程序<七>-- 上传图片及图片转base64
    [Linux] 常用命令--版本信息/关机重启/目录/文件操作
    A-LOAM学习
    架构师日记-从技术角度揭露电商大促备战的奥秘
    uni-app 5小时快速入门 8 页面配置(下)
    网络工程师——2024自学
    控制反转 (IOC, Inversion of Control) 和 依赖注入 (DI, Dependency Injection)
    【Java-LangChain:使用 ChatGPT API 搭建系统-9】评估(上)-存在一个简单的正确答案时
    【干货】安全应用RPA的3个阶段
    Ubuntu 17.10的超震撼声音权限
  • 原文地址:https://blog.csdn.net/m0_71814235/article/details/126229573