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


    对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。

    例一:

      对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。
        注意:对 所有的对象 进行解构赋值的时候,你如果要将对象中的某个方法 进行解构,你解构的时候,起的变量名,必须和对象里的方法名一一对应上。
        
     对象: 属性 + 方法
           对象的解构赋值 ,要么解构对象里的属性,要么解构对象里的方法
           round()  --- 解构对象中的方法,也就是 把这个方法 拿出来,我要用
          PI        --- 解构对象中的属性,也就是 把这个属性 拿出来,我要用

    1. {
    2. console.dir(Math)
    3. // 对象的解构赋值
    4. const {PI} = Math;
    5. // 将Math对象的对数、正弦、余弦、四舍五入 四个方法,赋值到对应的变量上,使用起来就会方便很多
    6. let {log, sin, cos,round} = Math;
    7. console.log(PI);
    8. console.log(sin(30));
    9. console.log(round(9.6));
    10. }

    console输出效果

     例二:

    1. {
    2. // 对象的解构赋值
    3. console.dir(console);
    4. let {log, info, table} = console;
    5. // 使用起来就会方便很多
    6. log('你好,小张')
    7. info('小史你好')
    8. table([[100,200],[300,400]])
    9. table(
    10. [
    11. {id:1,name:'小卢',sex:'男'},
    12. {id:2,name:'小王',sex:'男'},
    13. {id:2,name:'小商',sex:'男'}
    14. ]
    15. )
    16. }

     console输出效果

    上面代码的例一将Math对象的对数、正弦、余弦三个方法,赋值到对应的变量上,使用起来就会方便很多。例二将console.log赋值到log变量。

    如果变量名与属性名不一致,必须写成下面这样。

    1. let { foo: baz } = { foo: 'aaa', bar: 'bbb' };
    2. baz // "aaa"
    3. let obj = { first: 'hello', last: 'world' };
    4. let { first: f, last: l } = obj;
    5. f // 'hello'
    6. l // 'world'

      这实际上说明,对象的解构赋值是下面形式的简写。

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

    也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。

    1. let { foo: baz } = { foo: 'aaa', bar: 'bbb' };
    2. baz // "aaa"
    3. foo // error: foo is not defined

    上面代码中,foo是匹配的模式,baz才是变量。真正被赋值的是变量baz,而不是模式foo。

  • 相关阅读:
    手把手教你在VM虚拟机上安装windows11
    项目章程-文件计划
    APP自动化之weditor工具
    SaaSBase:什么是Oracle Fusion ERP?
    如何快速的把m4a转换成mp3格式
    基于BP神经网络算法的性别识别
    【解读】区块链和分布式记账技术标准体系建设指南
    Lock锁和AQS
    88.Django中间件的说明与使用方法
    正则表达式匹配双引号
  • 原文地址:https://blog.csdn.net/m0_71814235/article/details/126229838