前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >es2020 新特性

es2020 新特性

作者头像
刘嘿哈
发布2022-10-25 14:21:15
2070
发布2022-10-25 14:21:15
举报
文章被收录于专栏:js笔记js笔记
  1. BigInt Javascript中最大的整数是pow(2,53)-1,BigInt不受此限制,数字后面加个个后缀n,就是BigInt

image.png 2.动态引入

Javascript 的动态引入,允许你把 JS 文件作为一个模块动态的引入到你的应用中

代码语言:javascript
复制
// index.js
const a=import ('./add.js')
// import ('./add.js')返回一个promise
async function test(){
    const module=await  import('./add.js')
    console.log(module.add(3,4,5))
}
test();
代码语言:javascript
复制
// add.js
function add(a, b, c) {
  return a + b + c;
}
export { add };
  1. 空值合并

??逻辑运算符,前值为null和undefined的表达式,最后值为后面的值,区别于|| 。||是前者为假值时,表达式的值为后面的值

代码语言:javascript
复制
let flag1=null??'星辰'
 let flag2=undefined??'星辰'
 let flag3=false??'星辰'
 let flag4=''??'星辰'
 let flag5=0??'星辰'
 let flag6=NaN??'星辰'

 console.log(flag1,flag2,flag3,flag4,flag5,flag6)
// 星辰 星辰 false  0 NaN
 let flag01=null||'星辰'
 let flag02=undefined||'星辰'
 let flag03=false||'星辰'
 let flag04=''||'星辰'
 let flag05=0||'星辰'
 let flag06=NaN||'星辰'
 
 console.log(flag01,flag02,flag03,flag04,flag05,flag06)
// 星辰 星辰 星辰 星辰 星辰 星辰
  1. 可链选 可选链语法允许你访问嵌套更深的对象属性,而不用担心属性是否存在。如果,存在很好。反之,会返回 undefined
代码语言:javascript
复制
let obj={name:"星辰"};
obj.children?.son  //undefined
obj?.name ;  //星辰
  1. Promise.allSettled Promise.allSettled 方法接收一组 Promise,并且会返回所有的结果 - 而不管是 resolved 还是 rejected。在之前,这是不可能的,尽管有些类似的实现比如:race 和 all。它只会“运行所有的 promise - 而不关心它们的结果”
代码语言:javascript
复制
function createPormise(text) {
        return new Promise((res, rej) => {
            setTimeout(rej, 1000, text)
        })
    }
    const promiseList = [Promise.resolve('星辰'), Promise.resolve('满眼星辰'), createPormise('呵呵')]
    const rejectList = [createPormise('星辰'), createPormise('满眼星辰'), createPormise('呵呵')]

    Promise.allSettled(promiseList).then(res => {
        console.log(res)
    })

    Promise.allSettled(rejectList).then(res => {
        console.log(res)
    })

image.png

  1. String matchAll matchAll 是 String 原型链上的一个新增的方法,它可以关联正则表达式。它返回一个迭代器,一个接一个的返回所有匹配的组。 globalThis 如果,你写过那些可以运行在 Node、浏览器或者 web-workers 等跨平台的 JS 代码,你就会花费很多的时间去处理全局对象的问题。这是因为不同平台全局对象也不同,浏览器中是 window,Node 中是 global,web workers 中是 self。如果,还有更多的运行环境,这个对象也会有不同。因此,你自己必要检查运行环境来决定使用正确是全局对象。ES2020 给我们带来了 globalThis 对象,它始终会引用着全局对象,而不用关系代码在哪运行
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档