码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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]

  • 相关阅读:
    02.MySQL函数及约束、多表笔记
    企业精密空调运营,这才是最好的方法!
    python函数中*args和**kwargs的作用和意义
    毕业设计 单片机LSRB算法的走迷宫小车 - 嵌入式 stm32
    SVN使用总结
    【LeetCode】每日一题&最后一个单词的长度&投票法求解多数元素&异或操作符巧解只出现一次的数字&整数反转
    利用软raid程序来配置实现“RAID1+0”阵列
    【GEE笔记3】发布APP(简易版)
    Nodejs中net模块多次Socket.setTimeout无法覆盖之前函数,导致叠加执行问题解决
    如何隐藏Selenium特征实现自动化网页采集
  • 原文地址:https://blog.csdn.net/m0_46677484/article/details/126853220
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号