• ES6基础语法----解构


    目录

    解构

    1.数组解构 等号左边的变量放到中括号内部,匹配右侧数组中的元素。

    2.对象解构

     3 字符串解构

    4数值解构  可以获取到数值包装器构造函数原型中指定的方法。

    5布尔值解构



    解构

    1.数组解构 等号左边的变量放到中括号内部,匹配右侧数组中的元素。

    1.1完全解构:

    1. let [a,b,c,[d],e]=[1,2,3,[4,5,6],7];
    2. console.log(a,b,c,d,e)
    3. //1 2 3 4 7
    1. let [a,b,c,d,e]=[1,2,3,4];
    2. console.log(a,b,c,d,e);
    3. //1 2 3 4 undefined
    1. let [a,b,c,d,e]=[1,2,3,[4,5],6];
    2. console.log(a,b,c,d,e);
    3. //1 2 3 [ 4, 5 ] 6

    1.2不完全解构

    1. let [a,b,c,[d],e]=[1,2,3,[4,5,6],7];
    2. console.log(a,b,c,d,e);
    3. //1 2 3 4 7

    1.3默认值解构   默认值生效条件 当右侧匹配严格模式为undefiend

    1. let [a=1,b=2,c=3]=[4,5,6];
    2. console.log(a,b,c);
    3. //4 5 6
    4. let [a=1,b=2,c=3]=[];
    5. console.log(a,b,c);
    6. //1 2 3

    默认值也可以是一个函数

    1. let test=()=>{
    2. console.log('我是箭头函数');
    3. return 1
    4. }
    5. let [a=test()]=[];
    6. console.log(a);
    7. //我是箭头函数
    8. //1
    9. let test=()=>{
    10. console.log('我是箭头函数');
    11. return 1
    12. }
    13. let [a=test()]=[222];
    14. console.log(a);
    15. //222

    1.4集合解构 拓展运算符

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

    15.拓展运算符

    1. let a=[1,2,3,4,5];
    2. let [...arr]=a;
    3. console.log(arr);
    4. console.log(arr===a);
    5. //[ 1, 2, 3, 4, 5 ]
    6. //false

    2.对象解构

    2.1属性名必须和变量名一致才能取到正确的值

    1. let {name,age}={name:'lili',age:18};
    2. console.log(name,age);
    3. //lili 18

    2.2属性名和变量名不一致 给属性名重命名

    1. let {name:a,age:b}={name:'lili',age:12};
    2. console.log(a,b);
    3. //lili 12

    2.3嵌套结构

    1. let obj={p:['hello',{y:"world"}]};// a b取到hello world
    2. let {p:[a,{y:b}]}=obj;
    3. console.log(a,b);
    4. //hello world

    2.4对象默认值结构

    1. let {x:y=888}={};
    2. console.log(y);
    3. //888

    练习题:

    1. const [a, b, c, ...d] = [1, 2, 3, 11, 999];
    2. const { e, f,f1, g, ...h } = { f: 4, g: 5, i: 6, j: 7 };
    3. console.log(a, b, c, d, e, f1, g, h);
    4. //1 2 3 [ 11, 999 ] undefined undefined 5 { i: 6, j: 7 }

     3 字符串解构

    可以使用对象解构或者是数组解构,使用数组结构可以获取指定字符;使用对象结构可以获取实例属性方法;

    3.1.使用数组进行字符串解构

    1. let [a,b,c,d,e]='hello';
    2. console.log(a,b,c,d,e);
    3. //h e l l o

    3.2.使用拓展运算符 解构字符串

    1. let [...arr]='world';
    2. console.log(arr);
    3. //[ 'w', 'o', 'r', 'l', 'd' ]

    3.3使用对象解构字符串

    1. //String.prototype.toString/valueOf/length
    2. let {toString,valueOf,length}='hello';
    3. console.log(toString,valueOf,length);
    4. //[ 'w', 'o', 'r', 'l', 'd' ]
    5. //[Function: toString] [Function: valueOf] 5

    4数值解构  可以获取到数值包装器构造函数原型中指定的方法。

    1. let {toString,valueOf}=10;
    2. console.log(toString,valueOf)
    3. //[Function: toString] [Function: valueOf]

    5布尔值解构

    1. let {toString,valueOf}=true;
    2. console.log(toString,valueOf);
    3. //[Function: toString] [Function: valueOf]

  • 相关阅读:
    crush
    深入理解 python 虚拟机:令人拍案叫绝的字节码设计
    Hive三种模式安装部署
    python---pickle模块
    spring框架技术学习
    2023-06-09:什么是Redis事务?原理是什么?
    ROS从入门到精通2-8:Gazebo仿真之快速生成二维地图真值
    基于Flask框架实现Mock Server
    2022 年金九银十必问的 1000 道 Java 面试题及答案整理
    Linux服务器清理磁盘
  • 原文地址:https://blog.csdn.net/m0_46677484/article/details/126853220