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
/(?<=\$)\d+/.exec('Benjamin Franklin is on the $100 bill')// ["100"]/(?<!\$)\d+/.exec('it’sisworthabout€90')//["90"]constRE_DOLLAR_PREFIX=/(?<=\$)foo/g;'$foo %foo foo'.replace(RE_DOLLAR_PREFIX,'bar');/(?<=(\d+)(\d+))$/.exec('1053')// ["", "1", "053"]/^(\d+)(\d+)$/.exec('1053')// ["1053", "105", "3"]// 后行断言引用必须在之前/(?<=(o)d\1)r/.exec('hodor')// null/(?<=\1d(o))r/.exec('hodor')// ["r", "o"]
globalThis 提供了一个标准的方式来获取不同环境下的全局 this 对象(也就是全局对象自身)
// 以前:vargetGlobal=function(){if(typeofself!=='undefined'){returnself;}if(typeofwindow!=='undefined'){returnwindow;}if(typeofglobal!=='undefined'){returnglobal;}thrownewError('unable to locate global object');};varglobals=getGlobal();// 现在globalThis
记录
ES6
Intl
对象是 ECMAScript 国际化 API 的一个命名空间,它提供了精确的字符串对比、数字格式化,和日期时间格式化。
日期格式化
数字格式化,
判断是否在模块中
模块中顶层的 this 等于 undefined
Number.EPSILON
Number.EPSILON 属性表示 1 与Number可表示的大于 1 的最小的浮点数之间的差值。
判断数值是否相等
Math.hypot
计算两数平方开方
Math.hypot(3,4) === 5
ES7
求幂运算符
ES8
String padding
如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
Object.getOwnProperDescriptors
Atomics
Atomics 对象提供了一组静态方法对 SharedArrayBuffer 和 ArrayBuffer 对象进行原子操作。多线程之间操作数据不会引起混乱的api
es9
u 修饰符
ES6 对正则表达式添加了u修饰符,含义为“Unicode 模式”,用来正确处理大于\uFFFF的 Unicode 字符。也就是说,会正确处理四个字节的 UTF-16 编码。
y修饰符
除了u修饰符,ES6 还为正则表达式添加了y修饰符,叫做“粘连”(sticky)修饰符。
s 修饰符:dotAll 模式
正则表达式中,点(.)是一个特殊字符,代表任意的单个字符,但是有两个例外。一个是四个字节的 UTF-16 字符,这个可以用u修饰符解决;另一个是行终止符
后行断言
具名组匹配
正则匹配索引
用 for...await...of 的语法来操作
ES10
flat flatMap
Object.fromEntries
Symbol#description
ES11
String.prototype.matchAll
String.prototype.matchAll
返回一个正则表达式在当前字符串的所有匹配Promise
Promise
静态方法Promise.race
只要任意一个 promise 的状态改变(不管成功 or 失败),那么就返回那个 promisePromise.allSettled
只有等到所有实例都返回结果,不管是fulfilled还是rejected,实例才会结束Promise.any
只要其中任意一个 promise 成功,就返回那个已经成功的 promise。Promise
实例属性status
可以反应成功与否成功为fulfilled
,失败为rejected
,实例中有finally
无论成功与否globalThis
globalThis 提供了一个标准的方式来获取不同环境下的全局 this 对象(也就是全局对象自身)
空位合并操作符(??)
空值合并操作符(??)只有当左侧为
null|undefined
事会返回右侧的值可选链式操作符(?.)
?. 也叫链判断运算符。它允许开发人员读取深度嵌套在对象链中的属性值,而不必验证每个引用。当引用为空时,表达式停止计算并返回 undefined。
bigInt
旧版本的 JS 标准最大的整数只能是 2^53-- 即Number.MAX_SAFE_INTEGER或Math.pow(2, 53)
如果无法准确计算大于2^53的数字的
现在使用BigInt 用来表示整数,没有位数的限制,任何位数的整数都可以精确表示。
ES12
String.protype.replaceAll
WeakRef 和 FinalizationRegistry
WeakRef 提案主要包含两个新功能:
可以通过 WeakRef 类来给某个对象创建一个弱引用
可以通过 FinalizationRegistry 类,在某个对象被垃圾回收之后,执行一些自定义方法
WeakRef 主要用来缓存和映射一些大型对象,当你希望某个对象在不被其它地方引用的情况下及时地被垃圾回收,那么你就可以使用它。
逻辑赋值运算符
数字分隔符
此功能使开发人员可以通过在数字组之间创建视觉分隔来使其数字文字更具可读性。
ES13
Class
顶层 await
The text was updated successfully, but these errors were encountered: