旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。
从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019,...
Promise.allSettled([prom1,prom2,prom3]).then {}
这些功能相对较新。
较旧的浏览器可能需要替代代码(Polyfill)
JavaScriptBigInt
变量用于存储大整数值,这些值太大而无法用普通 JavaScript 表示Number
。
JavaScript 整数最多只能精确到 15 位左右。
let x = 999999999999999;
let y = 9999999999999999; // too big
亲自试一试 »
let x = 9999999999999999;
let y = 9999999999999999n;
亲自试一试 »
创建一个BigInt
,将 n 附加到整数或调用的末尾BigInt()
:
JavaScripttypeof
ABigInt
是"bigint":
BigInt
自 2020 年 9 月起所有现代浏览器均支持:
Chrome 67 | Edge 79 | Firefox 68 | Safari 14 | Opera 54 |
May 2018 | Jan 2020 | Jul 2019 | Sep 2020 | Jun 2018 |
在 ES2020 之前,没有可用于搜索字符串中出现的所有字符串的字符串方法。
如果参数是正则表达式,则必须设置全局标志(g),否则会抛出 TypeError。
如果要搜索不区分大小写,则必须设置不敏感标志 (i):
ES2021引入了字符串方法replaceAll()。
这个??
如果不是,则运算符返回第一个参数无效的(null
或者undefined
)。
否则返回第二个。
自 2020 年 3 月起,所有现代浏览器都支持 nullish 运算符:
Chrome 80 | Edge 80 | Firefox 72 | Safari 13.1 | Opera 67 |
Feb 2020 | Feb 2020 | Jan 2020 | Mar 2020 | Mar 2020 |
这个可选的链接运算符回报undefined
如果一个物体是undefined
或者null
(而不是抛出错误)。
这个?.=
自 2020 年 3 月起,所有现代浏览器均支持运算符:
Chrome 80 | Edge 80 | Firefox 74 | Safari 13.1 | Opera 67 |
Feb 2020 | Feb 2020 | Mar 2020 | Mar 2020 | Mar 2020 |
这个逻辑与赋值运算符用在两个值之间。
如果第一个值是true
,分配第二个值。
这个&&=
自 2020 年 9 月起,所有现代浏览器均支持运算符:
Chrome 85 | Edge 85 | Firefox 79 | Safari 14 | Opera 71 |
Aug 2020 | Aug 2020 | Mar 2020 | Sep 2020 | Sep 2020 |
这个逻辑或赋值运算符用在两个值之间。
如果第一个值是false
,分配第二个值。
这个||=
自 2020 年 9 月起,所有现代浏览器均支持运算符:
Chrome 85 | Edge 85 | Firefox 79 | Safari 14 | Opera 71 |
Aug 2020 | Aug 2020 | Mar 2020 | Sep 2020 | Sep 2020 |
这个空合并赋值运算符用在两个值之间。
如果第一个值是undefined
或者null
,分配第二个值。
这个??=
自 2020 年 9 月起,所有现代浏览器均支持运算符:
Chrome 85 | Edge 85 | Firefox 79 | Safari 14 | Opera 71 |
Aug 2020 | Aug 2020 | Mar 2020 | Sep 2020 | Sep 2020 |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!