ECMAScript 2020

  • Предыдущая страница JS 2019
  • Следующая страница JS 2021

Номер версии JavaScript

Старые версии JS называются числами: ES5 (2009) и ES6 (2015).

С 2016 года версии命名为 по годам: ECMAScript 2016, 2017, 2018, 2019, ...

Новые характеристики ES2020:

Предупреждение

Эти характеристики относительно новые.

Старые браузеры могут потребовать замены кода (Polyfill).

BigInt в JavaScript

Переменные BigInt в JavaScript используются для хранения больших целых чисел, которые слишком велики, чтобы быть представлены обычными числами JavaScript.

В JavaScript максимальное количество точных цифр для целых чисел составляет 15.

Пример instances Integer

let x = 999999999999999;
let y = 9999999999999999; // слишком большой

Попробуйте сами

Пример instances BigInt

let x = 9999999999999999;
let y = 9999999999999999n;

Попробуйте сами

Чтобы создать BigInt, установите n Присоединение к концу целого или вызов BigInt():

Пример

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

Попробуйте сами

Тип JavaScript для BigInt — "bigint":

Пример

let x = BigInt(999999999999999);
let type = typeof x;

Попробуйте сами

С сентября 2020 года все современные браузеры поддерживают BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
май 2018 года январь 2020 года июль 2019 года Сентябрь 2020 года июнь 2018 года

Метод matchAll() для строки JavaScript

До 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) (?? оператор)

Если первый параметр не является пустым значением (null или undefined), если ?? Оператор возвращает первый параметр.

в противном случае возвращает второй.

Пример

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

Попробуйте сами

С марта 2020 года все современные браузеры поддерживают оператор nullish:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
февраль 2020 года февраль 2020 года январь 2020 года Март 2020 года Март 2020 года

Оператор условной связи (Опциональное связывание оператор) (?. оператор)

Если объект undefined или nullтогдаОператор условной связиВозвращает undefined(вместо того чтобы выбрасывать ошибку).

Пример

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

Попробуйте сами

С марта 2020 года все современные браузеры поддерживают ?.= Оператор:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
февраль 2020 года февраль 2020 года Март 2020 года Март 2020 года Март 2020 года

Логический оператор AND для присваивания (&&= оператор)

Логический оператор AND присваиванияиспользуется между двумя значениями.

Если первым значением является trueЕсли первый значений

Пример логического AND присваивания

let x = 100;
x &&= 5;

Попробуйте сами

С сентября 2020 года все современные браузеры поддерживают &&= Оператор:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Август 2020 года Август 2020 года Март 2020 года Сентябрь 2020 года Сентябрь 2020 года

Логический оператор OR присваивания (оператор ||=)

Логический оператор OR присваиванияиспользуется между двумя значениями.

Если первым значением является falseЕсли первый значений

Пример логического OR присваивания

let x = 10;
x ||= 5;

Попробуйте сами

С сентября 2020 года все современные браузеры поддерживают ||= Оператор:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Август 2020 года Август 2020 года Март 2020 года Сентябрь 2020 года Сентябрь 2020 года

Оператор объединения значений для присваивания (??= оператор)

Оператор объединения значений для присваивания(Nullish Coalescing Assignment Operator) используется между двумя значениями.

Если первый значений undefined или nullЕсли первый значений

Пример объединения значений для присваивания

let x = 10;
x ??= 5;

Попробуйте сами

С сентября 2020 года все современные браузеры поддерживают ??= Оператор:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Август 2020 года Август 2020 года Март 2020 года Сентябрь 2020 года Сентябрь 2020 года
  • Предыдущая страница JS 2019
  • Следующая страница JS 2021