zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    ES2020 All in One

    ES2020 new features / ES11

    ES2020 中的10个新功能

    1. BigInt

    BigInt是JavaScript中最令人期待的功能之一,终于来了。实际上,它允许开发人员在其JS代码中使用更大的整数表示形式进行数据处理和数据处理。

    2. Dynamic import

    JavaScript中的动态导入使您可以选择将JS文件作为模块自然地动态导入应用程序中。就像您当前使用Webpack和Babel进行操作一样。

    3. Nullish Coalescing

    空值合并增加了真正检查空值而不是假值的能力。您可能会问,空值和假值之间有什么区别?

    在JavaScript中,很多值都是false,例如空字符串,数字0,未定义,null,false,NaN等。

    但是,很多时候您可能想检查一个变量是否为空-即它是未定义还是为null,例如当变量可以为空字符串甚至是假值时就可以了。

    4. Optional Chaining

    可选的链接语法使您可以访问深度嵌套的对象属性,而不必担心该属性是否存在。如果存在,那就太好了!如果不是,将返回undefined。

    5. Promise.allSettled

    Promise.allSettled方法接受一个Promises数组,并且仅在所有这些Promises都已解决时才解决-解析或拒绝。

    6. String#matchAll

    matchAll是添加到String原型的新方法,该方法与正则表达式相关。这将返回一个迭代器,该迭代器一个接一个地返回所有匹配的组。

    7. globalThis

    如果您编写了一些跨平台的JS代码,这些代码可以在Node上,浏览器环境中以及在Web工作人员内部运行,那么您将很难掌握全局对象。

    这是因为它是浏览器的窗口,是Node的全局窗口,是web worker的self。如果运行时更多,则全局对象也将有所不同。

    8. Module Namespace Exports

    在JavaScript模块中,已经可以使用以下语法:

    但是,到目前为止,还没有对称的导出语法:

    9. Well defined for-in order

    ECMA规范未指定(x in y)应按哪个顺序运行。即使以前浏览器自己实现了一致的顺序,但ES2020中已将其正式标准化。

    10. import.meta

    import.meta对象是由ECMAScript实现创建的,具有空原型。

    结论

    我喜欢JavaScript社区不断发展和发展的一致性和速度。
    看到JavaScript如何从经过十年的嘘声变成如今有史以来最强大,最灵活和通用性最强的语言之一,真是太神奇了,真是太棒了。

    ES2020

    globalThis

    
    globalThis === window;
    // true
    
    globalThis === global;
    // true
    
    
    globalThis =
     Object [global] {
      global: [Circular],
      clearInterval: [Function: clearInterval],
      clearTimeout: [Function: clearTimeout],
      setInterval: [Function: setInterval],
      setTimeout: [Function: setTimeout] {
        [Symbol(nodejs.util.promisify.custom)]: [Function]
      },
      queueMicrotask: [Function: queueMicrotask],
      clearImmediate: [Function: clearImmediate],
      setImmediate: [Function: setImmediate] {
        [Symbol(nodejs.util.promisify.custom)]: [Function]
      }
    }
    global =
     Object [global] {
      global: [Circular],
      clearInterval: [Function: clearInterval],
      clearTimeout: [Function: clearTimeout],
      setInterval: [Function: setInterval],
      setTimeout: [Function: setTimeout] {
        [Symbol(nodejs.util.promisify.custom)]: [Function]
      },
      queueMicrotask: [Function: queueMicrotask],
      clearImmediate: [Function: clearImmediate],
      setImmediate: [Function: setImmediate] {
        [Symbol(nodejs.util.promisify.custom)]: [Function]
      }
    }
    
    
    

    refs

    https://xie.infoq.cn/article/5887705e51a51af8b2781a8d3

    https://alligator.io/js/es2020/

    https://www.freecodecamp.org/news/javascript-new-features-es2020/

    https://www.telerik.com/blogs/latest-features-javascript-ecmascript-2020


    Flag Counter

    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    暑期总结1
    python +request 之数据库断言
    django接口开发之restful风格
    python +unittest 测试报告的生成
    Django学习笔记七----操作models修改数据库表结构
    Django学习笔记七----操作models,对数据库进行操作
    django学习六--操作model创建数据库表
    appium+python app自动化
    django学习五----redirect和,HttpResponsePermanentRedirect重定向
    html action属性
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/12506995.html
Copyright © 2011-2022 走看看