ECMAScript — это последняя и лучшая версия JavaScript, в которой есть функции, которые выведут вашу игру на новый уровень! Эти передовые функции, от области видимости блока и сокращенной записи функций до литералов и классов шаблонов, упростят процесс разработки и придадут вашему коду такой уровень выразительности и эффективности, о котором вы даже не подозревали.

Являетесь ли вы опытным ветераном или новичком, эти функции необходимы любому разработчику JavaScript, чтобы знать и осваивать их. Так что не ждите, начните изучать ECMAScript и улучшайте свои навыки уже сегодня!

  1. let и const: это новые способы объявления переменных в JavaScript. let позволяет создавать переменные с областью действия блока, тогда как var имеет область действия функции. const используется для объявления переменных, которые нельзя переназначить.
  2. Стрелочные функции: сокращение для определения анонимных функций. Они используют синтаксис «толстая стрелка» =›.
  3. Литералы шаблонов: новый способ создания строк с использованием обратных кавычек (`) вместо одинарных или двойных кавычек. Они допускают интерполяцию строк и многострочные строки.
  4. Деструктуризация. Удобный способ извлечения значений из объектов и массивов. Он позволяет извлекать значения и присваивать их переменным в одной строке кода.
  5. Оператор распространения. Оператор распространения позволяет распределить элементы массива или объекта по нескольким элементам или аргументам функции.
  6. Остальные параметры. Остаточный параметр используется для представления неопределенного числа аргументов в виде массива.
  7. Классы. Классы — это новый способ создания объектов, похожий на классы в других объектно-ориентированных языках программирования. Они обеспечивают чистый и организованный способ определения объектов и их методов.
  8. Модули. Теперь в JavaScript есть встроенный способ организации кода в повторно используемые модули. Это позволяет вам экспортировать и импортировать код из других файлов.
  9. Промисы. Промисы — это способ обработки асинхронного кода в JavaScript. Они позволяют вам писать асинхронный код, который выглядит как синхронный код.
  10. Async/await. Async/await — это новый способ написания асинхронного кода. Это позволяет вам писать асинхронный код, который выглядит и ведет себя как синхронный код.
  11. Усовершенствования объектов и массивов: 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() и другие.
  12. Символ. Новый примитивный тип данных в JavaScript. Символ представляет собой уникальный и неизменный идентификатор. Они используются в качестве ключей свойств и могут использоваться для создания свойств объекта, которые не могут быть перечислены.
  13. Параметры по умолчанию. В ES6 функции могут иметь значения параметров по умолчанию, которые используются, когда вызывающий объект не предоставляет значение.
  14. Сокращение свойства объекта: в ES6, когда свойство объекта имеет то же имя, что и переменная, вы можете использовать сокращенную запись для инициализации его значения.
  15. Усовершенствования строк и регулярных выражений: 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
  16. Усовершенствования чисел и математики: ES6 включает новые методы для работы с числами, такие как Number.isNaN(), Number.isFinite(), Number.isFinite(). strong>Number.isInteger(), Number.parseFloat(), Number.parseInt() и другие.
  17. Итераторы и генераторы. ES6 позволяет вам определять собственные итераторы и генераторы, что позволяет создавать объекты, которые можно повторять.
  18. Map и WeakMap: в ES6 представлены новые структуры данных, называемые Map и WeakMap, которые похожи на объекты, но предлагают дополнительные функциональные возможности и преимущества в производительности.
  19. Set и WeakSet: в ES6 также представлены новые структуры данных, называемые Set и WeakSet, которые похожи на массивы, но предлагают дополнительные функциональные возможности и преимущества в производительности.
  20. Прокси: ES6 позволяет создавать «прокси»-объекты, которые могут перехватывать и изменять операции с другими объектами.
  21. BigInt: ES6 представляет новый числовой тип BigInt, который позволяет представлять целые числа с произвольной точностью.
  22. Глобальные объекты: ES6 представляет новые глобальные объекты, такие как globalThis, console, assert.
  23. Правильный формат JSON.stringify(). В ES6 JSON.stringify() может включать функцию-заменитель для обработки значений, которые не могут быть представлены в JSON, например >Символ и не определено
  24. Конечные запятые в списках параметров функций и вызовах: ES6 позволяет использовать конечные запятые в списках параметров функций и вызовах, что упрощает добавление или удаление параметров без необходимости корректировки всех последующих строк кода.
  25. Promise.prototype.finally(): в ES2018 появился метод finally() для объекта Promise, который позволяет запускать функцию после обещание выполняется независимо от того, выполнено оно или отклонено.
  26. Object.fromEntries(). В ES2019 появился метод Object.fromEntries(), который создает объект из заданного массива пар ключ-значение.
  27. Динамический импорт(): в ES2020 представлен метод динамического импорта(), который позволяет загружать модули по мере необходимости, а не загружать их в начале скрипта.
  28. Числовые разделители. В ES2020 появилась возможность использовать символ подчеркивания в качестве разделителя для больших чисел, что упрощает их чтение.
  29. String.prototype.matchAll(): в ES2020 появился метод matchAll(), который позволяет получить все совпадения регулярного выражения в строке, включая перекрывающиеся совпадения.
  30. globalThis: в ES2020 представлен объект globalThis, который обеспечивает согласованный способ доступа к глобальному объекту в различных средах, таких как веб-браузеры, Node.js и веб-воркеры.
  31. Object.getOwnPropertyDescriptors(): в ES2017 появился метод Object.getOwnPropertyDescriptors(), который возвращает объект с теми же свойствами, что и исходный объект, но с объектами дескрипторов свойств, как у исходного объекта. значения, а не только значения свойств.
  32. Object.values() и Object.entries(): в ES2017 появились методы Object.values() и Object.entries(), которые позволяют извлекать значения и записи объекта соответственно в виде массива.
  33. Object.getOwnPropertySymbols(). В ES2015 появился метод Object.getOwnPropertySymbols(), который возвращает массив всех символов, являющихся собственными свойствами объекта.
  34. Object.is(): в ES2015 появился метод Object.is(), который сравнивает два значения на равенство, принимая во внимание различия в знаке, -0 и NaN.
  35. Object.assign(): в ES2015 появился метод Object.assign(), который копирует значения всех перечислимых собственных свойств из одного или нескольких исходных объектов в целевой объект.
  36. Object.setPrototypeOf(): в ES2015 появился метод Object.setPrototypeOf(), который устанавливает прототип объекта в другой объект или null.
  37. Object.isExtensible(): в ES2015 появился метод Object.isExtensible(), который возвращает логическое значение, указывающее, является ли объект расширяемым, т. е. можно ли добавлять к нему новые свойства. .
  38. Object.preventExtensions(): в ES2015 появился метод Object.preventExtensions(), который предотвращает добавление новых свойств к объекту.
  39. Object.isSealed(): в ES2015 появился метод Object.isSealed(), который возвращает логическое значение, указывающее, запечатан ли объект, т. е. можно ли добавить к нему новые свойства. и можно ли удалить или изменить существующие свойства.
  40. Object.seal(): в ES2015 появился метод Object.seal(), который предотвращает добавление новых свойств к объекту и помечает все существующие свойства как ненастраиваемые. делая их несъемными и неизменяемыми.
  41. Оператор возведения в степень. В ES2016 введен оператор возведения в степень (**), который позволяет возводить число в степень более лаконичным и читабельным способом, чем оператор . Функция Math.pow().
  42. Общая память и Atomics: в ES2017 представлены объекты SharedArrayBuffer и Atomics, которые позволяют создавать и управлять общей памятью между несколькими потоками в веб-воркере. , что позволяет повысить эффективность параллельных вычислений.
  43. Object.getPrototypeOf(): в ES2015 появился метод Object.getPrototypeOf(), который возвращает прототип объекта.
  44. Object.keys(): в ES2015 появился метод Object.keys(), который возвращает массив собственных перечисляемых свойств объекта.
  45. Object.values(): в ES2017 появился метод Object.values(), который возвращает массив значений собственных перечисляемых свойств объекта.
  46. Object.entries(): в ES2017 появился метод Object.entries(), который возвращает массив пар собственных перечислимых свойств [ключ, значение] объекта.
  47. Object.prototype.toString(): в ES2015 появился метод Object.prototype.toString(), который возвращает строковое представление объекта.
  48. Object.prototype.valueOf(): в ES2015 появился метод Object.prototype.valueOf(), который возвращает примитивное значение объекта.
  49. Object.prototype.hasOwnProperty(): в ES2015 появился метод Object.prototype.hasOwnProperty(), который возвращает логическое значение, указывающее, имеет ли объект свойство с указанным именем.
  50. Object.prototype.isPrototypeOf(): в ES2015 появился метод Object.prototype.isPrototypeOf(), который возвращает логическое значение, указывающее, находится ли объект в цепочке прототипов другого объекта. .