码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ES6、ES7、ES8、ES9、ES10、ES11


    目录

    一、ES6

    二、ES7

    三、ES8

    四、ES9


    一、ES6

    点击跳转

    二、ES7

    1.Includes方法:检测数组是否包含某个元素,返回布尔值

    1. const mingzhu = ['西游记', '红楼梦', '三国演义', '水浒传'];
    2. console.log(mingzhu.includes('西游记')); // true
    3. console.log(mingzhu.includes('金瓶梅')); // false

    2.指数操作符 用** 来实现幂运算 , 与Math.pow结果一样

    1. // **
    2. console.log(2 ** 10); // 1024
    3. // Math.pow()
    4. console.log(Math.pow(2, 10)); // 1024

    三、ES8

    1.async和await: 这两种语法结合可以让异步代码像同步代码一样

    2.promise函数

    1)、async函数的返回值为promise对象

    2)、promise对象的结果由async函数返回值决定

    1. async function fn() {
    2. // 1.返回一个不是promise类型的对象, return出去的都是一个成功的promise对象
    3. // return '返回成功的状态'
    4. // 2.抛出错误, return出去的是一个失败的promise
    5. throw new Error('出错了')
    6. // 3.返回的结果如果是一个promise对象
    7. return new Promise((resolve, reject) => {
    8. resolve('我成功返回的就是一个成功的promise');
    9. reject('我失败返回的就是一个失败的promise');
    10. })
    11. }
    12. const result = fn();
    13. console.log(result);

     通过then、catch获取到的不是promise 而是promise的值

    1. // 调用resolve返回成功的promise
    2. async function fn() {
    3. return new Promise((resolve, reject) => {
    4. resolve('我成功返回的就是一个成功的promise');
    5. reject('我失败返回的就是一个失败的promise');
    6. })
    7. }
    8. const result = fn();
    9. // 调用 then 方法
    10. result.then(res => {
    11. console.log(res) // 直接打印出primice对象的值 我成功返回的就是一个成功的promise
    12. }).catch(err => {
    13. console.log(err) // 直接打印出primice对象的值 我失败返回的就是一个失败的promise
    14. })

    3.await表达式

    1. // 创建promise 对象
    2. const p = new Promise((resolve, reject) => {
    3. resolve('成功啦');
    4. reject('失败啦')
    5. })
    6. // await 要放在async函数中
    7. async function main() {
    8. try {
    9. let result = await p; // await p 是获取成功的返回值
    10. console.log(result); // 成功啦
    11. } chtch(e) { // e为失败的返回值
    12. console.log(e); // 失败啦
    13. }
    14. }
    15. // 上面的try其实你可以理解为then和catch方法一样记

    4.async和await的结合使用把异步变同步

    1. const fn1 = () => console.log("fn1")
    2. const fn2 = () => console.log("fn1")
    3. const fn3 = () => console.log("fn1")
    4. // 声明一个async函数
    5. async function main() {
    6. let fun1 = await fn1();
    7. let fun2 = await fn2();
    8. let fun3 = await fn3();
    9. console.log(fun1);
    10. console.log(fun2);
    11. console.log(fun3);
    12. }
    13. main();
    14. // 分别打印出:
    15. // fn1
    16. // fn2
    17. // fn3
    18. // 从上到下跟同步一样按顺序执行 因为有一个await关键字 只有上一个await执行完毕了才会执行下一个await

    5.Object.keys()和Object.values()

    1. const school = {
    2. name: '尚硅谷',
    3. cities: ['上海', '上海', '深圳'],
    4. xueke: ['前端', 'java'],
    5. };
    6. // 获取对象的所有键
    7. console.log(Object.keys(school)); // ['name', 'cities', 'xueke']
    8. // 获取对象的所有值
    9. console.log(Object.values(school)); // ['尚硅谷', ['上海', '上海', '深圳'], ['前端', 'java']]

    6.entres

    1. const school = {
    2. name: '尚硅谷',
    3. cities: '啊啊啊',
    4. xueke: '哦哦哦',
    5. };
    6. console.log(Object.entries(school)); // [["name", "尚硅谷"], ["cities", "啊啊啊"], ["xueke", "xueke"]]

    四、ES9

    1.对象的rest参数

    1. function connect({host, prot, ...user}) {
    2. console.log(host); // 127.0.0.1
    3. console.log(port); // 3306
    4. console.log(user); // {username: "root", password: "root", type: "mater"}
    5. }
    6. connect({
    7. host: '127.0.0.1',
    8. port: 3306,
    9. username: 'root',
    10. password: 'root',
    11. type: 'mater'
    12. })

    2.对象的扩展运算符

    1. const skillOne = {
    2. q: '天音波'
    3. }
    4. console.log(...skillOne); // q: '天音波'
    5. const skillTwo = {
    6. W: '金钟罩'
    7. }
    8. const skillThree = {
    9. e: '天雷破'
    10. }
    11. const mangseng = {...skillOne, ...skillTwo, ...skillThree};
    12. console.log(mangseng); // {q: '天音波', W: '金钟罩', e: '天雷破'}

    3.正则扩展-命名捕获分组

    通过下标捕获分组

    1. // 声明一个字符串
    2. let str = '尚硅谷';
    3. // 提取 url 与 尚硅谷文本
    4. const reg = /(.*)<\/a>/;
    5. // 执行
    6. const result = reg.exec(str); // [0: 尚硅谷, 1: http:// www.atguigu.com, 2: 尚硅谷];
    7. // 获取第一个分组的(.*)的内容
    8. console.log(result[1]); // http:// www.atguigu.com
    9. // 获取第二个分组的(.*)的内容
    10. console.log(result[1]); // 尚硅谷

    通过命名捕获分组

    1. // 声明一个字符串
    2. let str = '尚硅谷';
    3. // 提取 url 与 尚硅谷文本
    4. const reg = /(?.*)<\/a>/;
    5. // 执行
    6. const result = reg.exec(str);
    7. // 获取命名为url的内容
    8. console.log(result.groups.url); // http:// www.atguigu.com
    9. // 获取命名为text的内容
    10. console.log(result.groups.text); // 尚硅谷

    3.正则扩展 - 正向断言

    1. // 声明字符串
    2. let str = 'JS5211314你知道么555啦啦啦';
    3. // 正向断言
    4. const reg = /\d+(?=啦)/;
    5. const result = reg.exec(str);
    6. console.log(result[0]); // 555

    4.正则扩展 - 反向断言

    1. // 声明字符串
    2. let str = 'JS5211314你知道么555啦啦啦';
    3. // 反向断言
    4. const reg = /(?<=么)\d+/;
    5. const result = reg.exec(str);
    6. console.log(result[0]); // 555

    其他的不写了  感觉用不上浪费时间

  • 相关阅读:
    获得进程的内核转储core
    Go类型全解:常量与变量大全!
    LeetCode 2578. 最小和分割:贪心(数学)
    YMK_周报2
    模型部署入门教程(七):TensorRT 模型构建与推理
    【Leetcode Sheet】Weekly Practice 16
    HDU1276:士兵队列训练问题 ← STL queue
    为什么创建 Redis 集群时会自动错开主从节点?
    关于嵌入式的技术竞争力需要花点时间整理一下给大家
    【愚公系列】2022年10月 微信小程序-优购电商项目-⾃定义组件传参
  • 原文地址:https://blog.csdn.net/qq_52421092/article/details/127701181
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号