ECMAScript 2020

  • ບ່ອນໜ້າຫນັງ JS 2019
  • ບ່ອນໜ້າຫນ້າ JS 2021

课程推荐:

JavaScript 版本号

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

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

动态导入

警告

这些特性相对较新。

JavaScript BigInt

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

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

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

Integer 实例
let x = 999999999999999;

亲自试一试

let y = 9999999999999999; // 太大

BigInt 实例
let x = 9999999999999999; let y =n;

亲自试一试

9999999999999999 n ສຳລັບທີ່ຈະສ້າງ BigInt, ຂໍ້ສະເໜີຢູ່ບາງສິ່ງນັ້ນ:

ຄວາມຈິງ

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);

亲自试一试

ປະເພດ JavaScriptຂອງ BigInt ຖື "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 (Nullish Coalescing Operator) (?? ການນຳໃຊ້)

ຖ້າຄຳຂັດແຍ່ງທຳອິດບໍ່ແມ່ນຄວາມຈິງnull ຫລື undefined)(. ?? ການນຳໃຊ້ການຖືກກັບຄຳຂັດແຍ່ງທຳອິດ

ຖ້າບໍ່ມີຄວາມຈິງຫລືບໍ່ມີຄວາມຈິງຈະຖືກກັບ

ຄວາມຈິງ

let name = null;
let text = "missing";
let result = name ?? text;

亲自试一试

ຕັ້ງແຕ່ປີ 2020 ເດືອນ 3 ທຸກຄົນຕະຫຼອດບັນດາບັນດາບາດບັບທີ່ປະກອບຫນັງນັ້ນທັງໝົດທີ່ຫຼາຍໃຊ້ກະທົບ nullish operator:

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 (Optional Chaining Operator) (?. ການນຳໃຊ້)

ຖ້າວ່າວັດຖຸ undefined ຫລື nullຖ້າການນຳໃຊ້ Optional Chaining Operatorການຖືກກັບ 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 ການຈັດຕັ້ງສຳລັບການຕິດຕໍ່ລະຫວ່າງຄຳຂັດແຍ່ງ

ຖ້າຄຳຂັດແຍ່ງຄັ້ງທຳອິດ ຄວາມຈິງ,则分配第二个值。

ການນຳໃຊ້ 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 ການຈັດຕັ້ງສຳລັບການຕິດຕໍ່ລະຫວ່າງຄຳຂັດແຍ່ງ

ຖ້າຄຳຂັດແຍ່ງຄັ້ງທຳອິດ ສິ່ງບໍ່ມີຄວາມຈິງ,则分配第二个值。

ການນຳໃຊ້ 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
  • ບ່ອນໜ້າຫນັງ JS 2019
  • ບ່ອນໜ້າຫນ້າ JS 2021