ECMAScript 2021

JavaScript 版本号

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

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

新特性

ES2021 中的新特性:

ES2022 中的新特性:

  • 数组方法 at()
  • 字符串方法 at()
  • 正则表达式 /d
  • Object.hasOwn()
  • error.cause
  • await import
  • 私有方法和字段
  • 类字段声明

警告

这些特性相对较新。

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

JavaScript 字符串方法 ReplaceAll()

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

예제

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

직접 시도해 보세요

replaceAll() 方法允许您指定一个正则表达式而不是要替换的字符串。

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

예제

text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");

직접 시도해 보세요

ヒント:}ES2020 matchAll() 문자열 메서드를 도입했습니다。

JavaScript 숫자 구분 기호 (_)

ES2021은 숫자 구분 기호 (_) 숫자를 더 읽기 쉽게 만들기 위해 사용할 수 있습니다:

예제

const num = 1_000_000_000;

직접 시도해 보세요

숫자 구분 기호는 시각적 사용만을 목표로 합니다。

예제

const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2);

직접 시도해 보세요

숫자 구분 기호는 숫자 내의 어떤 위치에도 위치할 수 있습니다:

예제

const num1 = 1_2_3_4_5;

직접 시도해 보세요

주의

숫자 구분 기호는 숫자의 시작 또는 끝에 나타날 수 없습니다.

JavaScript에서는 오직변수대문자 _로 시작할 수 있습니다.

2020년 1월부터 모든 현대 브라우저는 숫자 구분 기호를 지원합니다:

크롬 에지 파이어폭스 사파리 오페라
크롬 75 에지 79 파이어폭스 74 사파리 13.1 오페라 67
2019년 6월 2020년 1월 2019년 10월 2019년 9월 2019년 6월