Какие новые возможности ES2023+?
Стандарт ECMAScript с 2023 года и последующие версии принесли в язык JavaScript множество долгожданных и полезных возможностей, значительно улучшивших повседневную работу разработчиков, повысивших чистоту кода и производительность приложений. Эти нововведения затронули работу с массивами, асинхронными операциями, безопасностью и синтаксисом, делая язык еще более выразительным и мощным инструментом для создания масштабных программных продуктов.
Значительным шагом вперед стало улучшение работы с массивами, в частности добавление неизменяемых методов Array.prototype.toSorted, toReversed и метода with(). Ранее стандартные методы sort() и reverse() мутировали исходный массив, что часто приводило к трудноуловимым багам в приложениях с архитектурой вроде Redux. Новые методы возвращают новый массив с уже примененными изменениями, оставляя оригинал в неприкосновенности. Метод with(index, value) позволяет безопасно заменить элемент по конкретному индексу, также создавая копию массива. Еще одним прекрасным дополнением стал метод Array.fromAsync(), существенно упрощающий создание массивов из асинхронных итераторов или промисов.
Помимо массивов, язык пополнился удобными синтаксическими фишками. Появилась поддержка Hashbang grammar в начале файлов скриптов, что позволяет запускать файлы JS напрямую в терминале как исполняемые скрипты в Unix-подобных системах. Также расширились возможности использования объектов Symbol в качестве ключей в коллекциях WeakMap, что открывает новые паттерны для создания приватных свойств и эффективного управления памятью без риска утечек. Все эти изменения демонстрируют стремление создателей языка сделать JavaScript максимально удобным, безопасным и готовым к решению самых сложных задач современной разработки.