ES2020 All in One
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
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
ES2020 All in One的更多相关文章
- ES2020的这些新功能令人期待
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/es2020-has-been-finalized- ...
- ES2020新特性链操作符 '?.'和'??'
ES2020新特性,js中的可选链操作符?. 概述 回想一下,我们是如何访问可能含有空值(null或undefined)属性的嵌套对象,比如访问web api 返回结果的user详情,可以使用嵌套的三 ...
- ES2020链判断运算符?.和Null判断运算符??
链判断运算符 ?. 业务场景: 1 // 假设data是个数组,如果data没有值,为undefinded,则直接复制会报错,因为没有length这个属性 2 3 const dateCount = ...
- ES2020 系列:可选链 "?." 为啥出现,我们能用它来干啥?
可选链 "?." 可选链 ?. 是一种访问嵌套对象属性的安全的方式.即使中间的属性不存在,也不会出现错误. "不存在的属性"的问题 如果你才刚开始读此教程并学习 ...
- ES2020新特性记录
1.可选链操作符 // oldlet ret = obj && obj.first && obj.first.second// newlet ret = obj?.fi ...
- es6之三个点(...)扩展运算符
我们看一个语法,你就知道es6对我们码农多友好,毕竟世界在进步 let arr=[1,2,3,4,54,56] console.log(...arr) 结果是????? 没错 ...这个运算符就是把这 ...
- Promise是什么?
一. Promise是什么? Promise是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来. 避免了多级异步操作的回调函数嵌套. Promise最早 ...
- 个推TechDay参会感悟
上周六去参加了个推和FCC联合在梦想小镇举办的TechDay,当然是作为台下听讲选手参与的,想上去讲可惜实力他不允许啊,吹牛逼我在行,讲技术可就有点虚了,老老实实的坐在台下听大佬们的分享,当然由于买了 ...
- VS Code 成主宰、Vue 备受热捧!2019 前端开发趋势必读
前端在生产和开发中占据着越来越重要的地位,PC 端.手机端.桌面端.智能手表端等等设备都离不开前端的身影.本文将围绕框架.编程语言.工具.React.Vue 等方面,全面回顾 2019 年前端与 We ...
随机推荐
- springBoot controller入参LocalDateTime
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @DateTimeForma ...
- 在Ubuntu下安装Jenkins
一.安装Jenkins 1. 确保Java环境已经安装配置好 java -version 2. 将存储库密钥添加到系统 wget -q -O - https://pkg.jenkins.io/debi ...
- HDU2222 Keywords Search__AC自动机
Keywords Search Time Limit: 1000MS Memory Limit: 131072KB 64bit IO Format: %I64d & %I64u Sub ...
- Language Guide (proto3) | proto3 语言指南(九)Oneof结构
Oneof - Oneof结构 如果消息包含多个字段,并且最多只能同时设置一个字段,则可以使用oneof功能强制执行此行为并节省内存. oneof字段与常规字段类似,但oneof共享内存中的所有字段除 ...
- Web漏洞扫描-AppScan
Web漏洞扫描-AppScan 一.AppScan简述 二.功能及特点 一.AppScan简述 IBM Security AppScan是一个适合安全专家的Web应用程序和Web服务渗透测试解决方案. ...
- Aruba无线控制器常用操作
初始配置 1.console到初始化的无线控制器上 Enter System name [Aruba7005]: Enter VLAN 1 interface IP address [172.16.0 ...
- 简述vue-cli 2.x和vue-cli 3+在项目构建、运行、编译执行时的区别
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14363272.html 关于VUE的项目,有个问题一直不是特别清楚 ,不同公司的项目 ...
- ness使用-漏扫
1.登录nessus后,会自动弹出目标输入弹框: 输入目标IP,可通过CIDR表示法(192.168.0.0/80),范围(192.168.0.1-192.168.0.255),或逗号分隔(192.1 ...
- 数据结构-kmp算法
定义 改进字符串的匹配算法 关键:通过实现一个包含了模式串的局部匹配信息的next()函数,利用匹配失败的信息,减少匹配次数. 1.BF算法 暴力匹配 给定 文本串S "BBC ABCDAB ...
- CSAPP_AttackLab实验报告
目录 屏幕截图 考察内容 各题答案 level1 level2 level3 level4 level5 解题思路 level1 任务 思路 level2 任务 思路 level3 任务 思路 lev ...