You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SharedArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer, similar to the ArrayBuffer object, but in a way that they can be used to create views on shared memory. Unlike an ArrayBuffer, a SharedArrayBuffer cannot become detached.
概览如图(保留一大串英文,是为了鼓励大家好好学英语😀)
下面会尽量保持精简,能用图和代码的地方,就尽量不写文字,保留最直观的感受,简单的API会直接给官方文档
一、ECMAScript 2016
1、Array.prototype.includes
Array.prototype.includes() - JavaScript | MDN
2、指数(幂)运算符 **
二、ECMAScript 2017
1、Object.values()
Object.values() - JavaScript | MDN
2、Object.entries()
Object.entries() - JavaScript | MDN
3、字符串填充 String padding
String.prototype.padStart() - JavaScript | MDN
String.prototype.padEnd() - JavaScript | MDN
注意,Emojis和双字节字符会占据两位
4、Object.getOwnPropertyDescriptors
Object.getOwnPropertyDescriptor() - JavaScript | MDN
Object.getOwnPropertyDescriptor()
方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)5、函数参数结尾逗号
6、Async/Await
async function - JavaScript | MDN
三、ECMAScript 2018
1、共享内存与原子操作
个人认为所有更新里这是最爆炸,最强的新特性
即使有event loop的”伪多线程“和Service Worker的强力增援,但依然掩盖不了JS是单线程的事实。
共享内存与原子操作,给JS带来了多线程的功能,允许开发人员自行管理内存来开发高性能高并发的程序。
核心是
SharedArrayBuffer
对象SharedArrayBuffer - JavaScript | MDN
关键词:shared memory
直到目前为止,我们只能通过
postMessage
在JS主线程和web worker之间通信,传输数据。SharedArrayBuffer
允许共享内存,必然会带来竞态关系,后端语言会通过锁解决这个问题,这里引入了Atomics
全局对象Atomics - JavaScript | MDN
Atomics对象提供了一些方法来处理这种关系,包括读取与更新
感兴趣的可以参与以下资料(全英文,为部分同学感到蛋蛋的忧伤)
A cartoon intro to SharedArrayBuffers – Mozilla Hacks – the Web developer blog
ES proposal: Shared memory and atomics
2、非转义序列的模板字符串
本部分可直接查看下面链接
非转义序列的模板字符串 | esnext | es6 es7 es2017 es2018 es2019
3、对象展开运算符
4、Promise.prototype.finally()
一个新的API而已,promise相信大家都会用了
Promise.prototype.finally() - JavaScript | MDN
5、异步迭代器
提供了
for-await-of
,异步迭代,等待每个promise被resolve再执行下一个6、正则表达式相关
本部分内容,同学们可自行查阅
dotAll
模式,使 . 可以匹配任意字符后记
感谢您耐心看到这里,希望有所收获!
如果不是很忙的话,麻烦点个star⭐【Github博客传送门】,举手之劳,却是对作者莫大的鼓励。
我在学习过程中喜欢做记录,分享的是自己在前端之路上的一些积累和思考,希望能跟大家一起交流与进步,更多文章请看【amandakelake的Github博客】
参考链接
Here are examples of everything new in ECMAScript 2016, 2017, and 2018
The text was updated successfully, but these errors were encountered: