ECMAScript — это последняя и лучшая версия JavaScript, в которой есть функции, которые выведут вашу игру на новый уровень! Эти передовые функции, от области видимости блока и сокращенной записи функций до литералов и классов шаблонов, упростят процесс разработки и придадут вашему коду такой уровень выразительности и эффективности, о котором вы даже не подозревали.
Являетесь ли вы опытным ветераном или новичком, эти функции необходимы любому разработчику JavaScript, чтобы знать и осваивать их. Так что не ждите, начните изучать ECMAScript и улучшайте свои навыки уже сегодня!
- let и const: это новые способы объявления переменных в JavaScript. let позволяет создавать переменные с областью действия блока, тогда как var имеет область действия функции. const используется для объявления переменных, которые нельзя переназначить.
- Стрелочные функции: сокращение для определения анонимных функций. Они используют синтаксис «толстая стрелка» =›.
- Литералы шаблонов: новый способ создания строк с использованием обратных кавычек (`) вместо одинарных или двойных кавычек. Они допускают интерполяцию строк и многострочные строки.
- Деструктуризация. Удобный способ извлечения значений из объектов и массивов. Он позволяет извлекать значения и присваивать их переменным в одной строке кода.
- Оператор распространения. Оператор распространения позволяет распределить элементы массива или объекта по нескольким элементам или аргументам функции.
- Остальные параметры. Остаточный параметр используется для представления неопределенного числа аргументов в виде массива.
- Классы. Классы — это новый способ создания объектов, похожий на классы в других объектно-ориентированных языках программирования. Они обеспечивают чистый и организованный способ определения объектов и их методов.
- Модули. Теперь в JavaScript есть встроенный способ организации кода в повторно используемые модули. Это позволяет вам экспортировать и импортировать код из других файлов.
- Промисы. Промисы — это способ обработки асинхронного кода в JavaScript. Они позволяют вам писать асинхронный код, который выглядит как синхронный код.
- Async/await. Async/await — это новый способ написания асинхронного кода. Это позволяет вам писать асинхронный код, который выглядит и ведет себя как синхронный код.
- Усовершенствования объектов и массивов: ES6 включает новые методы для работы с объектами и массивами, такие как Object.assign(), Object.entries(). , Object.keys(), Object.values(), Array.from(), Array.of(), Array.find(), Array.findIndex(), Array.fill(), Array.flat() , Array.flatMap(), Array.includes() и другие.
- Символ. Новый примитивный тип данных в JavaScript. Символ представляет собой уникальный и неизменный идентификатор. Они используются в качестве ключей свойств и могут использоваться для создания свойств объекта, которые не могут быть перечислены.
- Параметры по умолчанию. В ES6 функции могут иметь значения параметров по умолчанию, которые используются, когда вызывающий объект не предоставляет значение.
- Сокращение свойства объекта: в ES6, когда свойство объекта имеет то же имя, что и переменная, вы можете использовать сокращенную запись для инициализации его значения.
- Усовершенствования строк и регулярных выражений: ES6 включает новые методы для работы со строками, такие как String.prototype.startsWith(), String.prototype.endsWith(), String.prototype.includes(), String.prototype.repeat() и String.prototype.padStart(), String.prototype.padEnd(). Также RegExp RegExp.prototype.flags и RegExp.prototype.sticky
- Усовершенствования чисел и математики: ES6 включает новые методы для работы с числами, такие как Number.isNaN(), Number.isFinite(), Number.isFinite(). strong>Number.isInteger(), Number.parseFloat(), Number.parseInt() и другие.
- Итераторы и генераторы. ES6 позволяет вам определять собственные итераторы и генераторы, что позволяет создавать объекты, которые можно повторять.
- Map и WeakMap: в ES6 представлены новые структуры данных, называемые Map и WeakMap, которые похожи на объекты, но предлагают дополнительные функциональные возможности и преимущества в производительности.
- Set и WeakSet: в ES6 также представлены новые структуры данных, называемые Set и WeakSet, которые похожи на массивы, но предлагают дополнительные функциональные возможности и преимущества в производительности.
- Прокси: ES6 позволяет создавать «прокси»-объекты, которые могут перехватывать и изменять операции с другими объектами.
- BigInt: ES6 представляет новый числовой тип BigInt, который позволяет представлять целые числа с произвольной точностью.
- Глобальные объекты: ES6 представляет новые глобальные объекты, такие как globalThis, console, assert.
- Правильный формат JSON.stringify(). В ES6 JSON.stringify() может включать функцию-заменитель для обработки значений, которые не могут быть представлены в JSON, например >Символ и не определено
- Конечные запятые в списках параметров функций и вызовах: ES6 позволяет использовать конечные запятые в списках параметров функций и вызовах, что упрощает добавление или удаление параметров без необходимости корректировки всех последующих строк кода.
- Promise.prototype.finally(): в ES2018 появился метод finally() для объекта Promise, который позволяет запускать функцию после обещание выполняется независимо от того, выполнено оно или отклонено.
- Object.fromEntries(). В ES2019 появился метод Object.fromEntries(), который создает объект из заданного массива пар ключ-значение.
- Динамический импорт(): в ES2020 представлен метод динамического импорта(), который позволяет загружать модули по мере необходимости, а не загружать их в начале скрипта.
- Числовые разделители. В ES2020 появилась возможность использовать символ подчеркивания в качестве разделителя для больших чисел, что упрощает их чтение.
- String.prototype.matchAll(): в ES2020 появился метод matchAll(), который позволяет получить все совпадения регулярного выражения в строке, включая перекрывающиеся совпадения.
- globalThis: в ES2020 представлен объект globalThis, который обеспечивает согласованный способ доступа к глобальному объекту в различных средах, таких как веб-браузеры, Node.js и веб-воркеры.
- Object.getOwnPropertyDescriptors(): в ES2017 появился метод Object.getOwnPropertyDescriptors(), который возвращает объект с теми же свойствами, что и исходный объект, но с объектами дескрипторов свойств, как у исходного объекта. значения, а не только значения свойств.
- Object.values() и Object.entries(): в ES2017 появились методы Object.values() и Object.entries(), которые позволяют извлекать значения и записи объекта соответственно в виде массива.
- Object.getOwnPropertySymbols(). В ES2015 появился метод Object.getOwnPropertySymbols(), который возвращает массив всех символов, являющихся собственными свойствами объекта.
- Object.is(): в ES2015 появился метод Object.is(), который сравнивает два значения на равенство, принимая во внимание различия в знаке, -0 и NaN.
- Object.assign(): в ES2015 появился метод Object.assign(), который копирует значения всех перечислимых собственных свойств из одного или нескольких исходных объектов в целевой объект.
- Object.setPrototypeOf(): в ES2015 появился метод Object.setPrototypeOf(), который устанавливает прототип объекта в другой объект или null.
- Object.isExtensible(): в ES2015 появился метод Object.isExtensible(), который возвращает логическое значение, указывающее, является ли объект расширяемым, т. е. можно ли добавлять к нему новые свойства. .
- Object.preventExtensions(): в ES2015 появился метод Object.preventExtensions(), который предотвращает добавление новых свойств к объекту.
- Object.isSealed(): в ES2015 появился метод Object.isSealed(), который возвращает логическое значение, указывающее, запечатан ли объект, т. е. можно ли добавить к нему новые свойства. и можно ли удалить или изменить существующие свойства.
- Object.seal(): в ES2015 появился метод Object.seal(), который предотвращает добавление новых свойств к объекту и помечает все существующие свойства как ненастраиваемые. делая их несъемными и неизменяемыми.
- Оператор возведения в степень. В ES2016 введен оператор возведения в степень (**), который позволяет возводить число в степень более лаконичным и читабельным способом, чем оператор . Функция Math.pow().
- Общая память и Atomics: в ES2017 представлены объекты SharedArrayBuffer и Atomics, которые позволяют создавать и управлять общей памятью между несколькими потоками в веб-воркере. , что позволяет повысить эффективность параллельных вычислений.
- Object.getPrototypeOf(): в ES2015 появился метод Object.getPrototypeOf(), который возвращает прототип объекта.
- Object.keys(): в ES2015 появился метод Object.keys(), который возвращает массив собственных перечисляемых свойств объекта.
- Object.values(): в ES2017 появился метод Object.values(), который возвращает массив значений собственных перечисляемых свойств объекта.
- Object.entries(): в ES2017 появился метод Object.entries(), который возвращает массив пар собственных перечислимых свойств [ключ, значение] объекта.
- Object.prototype.toString(): в ES2015 появился метод Object.prototype.toString(), который возвращает строковое представление объекта.
- Object.prototype.valueOf(): в ES2015 появился метод Object.prototype.valueOf(), который возвращает примитивное значение объекта.
- Object.prototype.hasOwnProperty(): в ES2015 появился метод Object.prototype.hasOwnProperty(), который возвращает логическое значение, указывающее, имеет ли объект свойство с указанным именем.
- Object.prototype.isPrototypeOf(): в ES2015 появился метод Object.prototype.isPrototypeOf(), который возвращает логическое значение, указывающее, находится ли объект в цепочке прототипов другого объекта. .