导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript 2020 新特性


JavaScript 2020 新特性

功能 描述  
BigInt 存储过大的值,无法用 JavaScript 数字存储  
String matchAll() 查找字符串中所有出现的字符串  
Promise.allSettled() 接受 Promise 作为输入,并返回单个 Promise  
动态导入    

2020 年新增 JavaScript 运算符

操作 描述  
?? 空值合并操作返回第一个非空参数  
?. 如果对象为 undefined 或 null,可选链操作返回 undefined  
&&= 逻辑与赋值:如果第一个值为真,则赋值为第二个值  
||= 逻辑或赋值:如果第一个值为假,则赋值为第二个值  
??= 空值合并赋值:如果第一个值为未定义或空值,则赋值为第二个值  

浏览器支持

自 2021 年 4 月起,所有现代浏览器均支持 ECMAScript 2020

         
Chrome
80
Edge
80
Firefox
80
Safari
14.1
Opera
67
2020年2月 2020年2月 2020年8月 2021年4月 2020年3月

JavaScript BigInt

JavaScript 的 BigInt 变量用于存储过大的整数值,这些值无法用普通的 JavaScript Number 变量表示。

JavaScript 整数的精度只有大约 15 位小数。

整数示例

let x = 999999999999999;
let y = 9999999999999999; // too big
亲自试一试 »

BigInt 示例

let x = 9999999999999999;
let y = 9999999999999999n;
亲自试一试 »

要创建一个BigInt,请在整数末尾添加n,或调用BigInt():

示例

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)
亲自试一试 »

JavaScript 中 typeofBigInt 的类型是 "bigint":

示例

let x = BigInt(999999999999999);
let type = typeof x;
亲自试一试 »

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()。



空值合并运算符 (??)

??运算符在第一个参数不为空(nullundefined)时返回第一个参数。

否则返回第二个参数。

示例

let name = null;
let text = "missing";
let result = name ?? text;
亲自试一试 »

可选链运算符 (?.)

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

示例

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;
亲自试一试 »

&&= 运算符

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

如果第一个值为true,则将第二个值赋给第一个值。

逻辑与赋值示例

let x = 10;
x &&= 5;
亲自试一试 »

||= 运算符

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

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

逻辑或赋值示例

let x = 10;
x ||= 5;
亲自试一试 »

??= 运算符

空值合并赋值运算符用于两个值之间。

如果第一个值为 undefinednull,则将第二个值赋给它。

空值合并赋值示例

let x;
x ??= 10;
亲自试一试 »

JavaScript Promise.allSettled()

Promise.allSettled() 方法从 Promise 列表中返回单个 Promise。

示例

// 创建一个 Promise
const myPromise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 200, "King");
});

// 创建另一个 Promise
const myPromise2 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "Queen");
});

// Settle All
Promise.allSettled([myPromise1, myPromise2]).then((results) =>
  results.forEach((x) => myDisplay(x.status)),
);
亲自试一试 »

freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8