手册

目录

JS 2020

收藏511

阅读599

更新时间2025-08-07

JavaScript 版本号

旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。

从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019、...

ES2020 中的新特性:

  • BigInt
  • 字符串方法 matchAll()
  • 空值合并运算符 (??)
  • 可选链运算符 (?.)
  • 逻辑 AND 赋值运算符 (&&=)
  • 逻辑 OR 赋值运算符 (||=)
  • 空值合并赋值运算符 (??=)
  • Promise.allSettled()
  • 动态导入

警告

这些特性相对较新。

较旧的浏览器可能需要替代代码(Polyfill)。

JavaScript BigInt

JavaScript BigInt 变量用于存储太大而无法用普通 JavaScript 数字表示的大整数值。

JavaScript 整数最多只能精确到 15 位数字。

Integer 实例

let x = 999999999999999;
let y = 9999999999999999; // 太大
运行实例 »

点击 "运行实例" 按钮查看在线实例

BigInt 实例

let x = 9999999999999999;
let y = 9999999999999999n;
运行实例 »

点击 "运行实例" 按钮查看在线实例

如需创建 BigInt,请将 n 附加到整数末尾或调用 BigInt():

实例

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
运行实例 »

点击 "运行实例" 按钮查看在线实例

BigInt 的 JavaScript 类型是 "bigint":

实例

let x = BigInt(999999999999999);
let type = typeof x;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 9 月以来,所有现代浏览器都支持 BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
2018 年 5 月 2020 年 1 月 2019 年 7 月 2020 年 9 月 2018 年 6 月

JavaScript 字符串方法 matchAll()

在 ES2020 之前,没有字符串方法方法可用于搜索字符串中所有出现的字符串。

实例

const iterator = text.matchAll("Cats");
运行实例 »

点击 "运行实例" 按钮查看在线实例

如果参数是正则表达式,则必须设置全局标志 (g),否则会抛出 TypeError。

实例

const iterator = text.matchAll(/Cats/g);
运行实例 »

点击 "运行实例" 按钮查看在线实例

如果要进行不区分大小写的搜索,则必须设置不区分大小写标志 (i):

实例

const iterator = text.matchAll(/Cats/gi);
运行实例 »

点击 "运行实例" 按钮查看在线实例

提示:ES2021 引入了字符串方法 replaceAll()。

空值合并运算符(Nullish Coalescing Operator)(?? 运算符)

如果第一个参数不是空值(nullundefined),则 ?? 运算符返回第一个参数。

否则返回第二个。

实例

let name = null;
let text = "missing";
let result = name ?? text;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 3 月以来,所有现代浏览器都支持 nullish 运算符:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
2020 年 2 月 2020 年 2 月 2020 年 1 月 2020 年 3 月 2020 年 3 月

可选链运算符(Optional Chaining Operator)(?. 运算符)

如果对象为 undefinednull,则可选链运算符返回 undefined(而不是抛出错误)。

实例

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 3 月以来,所有现代浏览器都支持 ?.= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
2020 年 2 月 2020 年 2 月 2020 年 3 月 2020 年 3 月 2020 年 3 月

逻辑 AND 赋值运算符(&&= 运算符)

逻辑 AND 赋值运算符用于两个值之间。

如果第一个值为 true,则分配第二个值。

逻辑 AND 赋值实例

let x = 100;
x &&= 5;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 9 月以来,所有现代浏览器都支持 &&= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月

逻辑 OR 赋值运算符(||= 运算符)

逻辑 OR 赋值运算符用于两个值之间。

如果第一个值为 false,则分配第二个值。

逻辑 OR 赋值实例

let x = 10;
x ||= 5;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 9 月以来,所有现代浏览器都支持 ||= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月

空值合并赋值运算符(??= 运算符)

空值合并赋值运算符(Nullish Coalescing Assignment Operator)用于两个值之间。

如果第一个值 undefined 或为 null,则分配第二个值。

空值合并赋值实例

let x = 10;
x ??= 5;
运行实例 »

点击 "运行实例" 按钮查看在线实例

自 2020 年 9 月以来,所有现代浏览器都支持 ??= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号