[ITEM 5] QUESTION: Які нові можливості ES2023+?
Стандарт ECMAScript з 2023 року та наступні версії принесли в мову JavaScript безліч довгоочікуваних і корисних можливостей, які значно покращили повсякденну роботу розробників, підвищили чистоту коду та продуктивність додатків. Ці нововведення торкнулися роботи з масивами, асинхронними операціями, безпекою та синтаксисом, роблячи мову ще більш виразною і потужним інструментом для створення масштабних програмних продуктів.
Значним кроком вперед стало поліпшення роботи з масивами, зокрема додавання незмінних методів Array.prototype.toSorted, toReversed і методу with(). Раніше стандартні методи sort() і reverse() мутували вихідний масив, що часто призводило до важковловимих багів у додатках з архітектурою на кшталт Redux. Нові методи повертають новий масив з уже застосованими змінами, залишаючи оригінал у недоторканності. Метод with(index, value) дозволяє безпечно замінити елемент за конкретним індексом, також створюючи копію масиву. Ще одним прекрасним доповненням став метод Array.fromAsync(), що суттєво спрощує створення масивів з асинхронних ітераторів або промісів.
Крім масивів, мова поповнилася зручними синтаксичними фішками. З'явилася підтримка Hashbang grammar на початку файлів скриптів, що дозволяє запускати файли JS безпосередньо в терміналі як виконувані скрипти в Unix-подібних системах. Також розширилися можливості використання об'єктів Symbol як ключів у колекціях WeakMap, що відкриває нові патерни для створення приватних властивостей та ефективного управління пам'яттю без ризику витоків. Усі ці зміни демонструють прагнення творців мови зробити JavaScript максимально зручним, безпечним і готовим до вирішення найскладніших завдань сучасної розробки.