В ECMAScript 2023 (ES-14) представлены некоторые интересные улучшения массивов для решения проблемы мутации в таких методах, как reverse(), sort() и splice(). Эти усовершенствования направлены на предоставление альтернативных встроенных методов, которые предотвращают прямое изменение исходного массива. Давайте рассмотрим эти новые функции:

1.toReversed(): метод toReversed() возвращает новый массив с элементами в обратном порядке. Он не изменяет исходный массив. Например:

2.toSorted(compareFn): метод toSorted() возвращает новый массив с элементами, отсортированными в соответствии с предоставленной функцией сравнения compareFn. Это позволяет настроить порядок сортировки в соответствии с вашими требованиями. Этот метод не изменяет исходный массив. Вот несколько примеров:

3.toSpliced(start, deleteCount, ...items): метод toSpliced() возвращает новый массив с удаленными или добавленными элементами по указанному индексу start. Он не изменяет исходный массив. Вот пример:

4.with(index, value): метод with() возвращает новый массив, в котором элемент в указанном index заменяется предоставленным value. Он не изменяет исходный массив. Например:

5.findLast(), findLastIndex() and find(), findIndex(). Эти методы предлагают обратную функциональность существующих методов find() и findIndex(). Давайте рассмотрим, как они работают и их преимущества:

Сценарий 1. Массив findLast() Рассмотрим массив numbersIndexArr, содержащий числа [2, 4, 6, 73, 67, 40]. Мы хотим найти последнее число, удовлетворяющее определенному условию, в данном случае нечетное. Вместо того, чтобы выполнять итерацию с начала массива, теперь мы можем использовать метод findLast() для поиска с конца. Вот пример:

Метод findLast() возвращает последний элемент массива, удовлетворяющий заданному условию. В этом случае он вернет последнее нечетное число в массиве (67). Этот метод является удобной альтернативой созданию временных дубликатов или выполнению сложных операций.

Сценарий 2. В этом коде метод find() используется для поиска первого нечетного числа в массиве, а результат сохраняется в переменной result. Метод findIndex() используется для нахождения индекса первого нечетного числа, а результат сохраняется в переменной resultIndex.

Операторы журнала консоли затем отображают соответствующие результаты: значение первого нечетного числа (73) для журнала «Результат» и индекс первого нечетного числа (3) для журнала «Индекс».

Конечно! Вот улучшенное описание потенциальных функций в ECMAScript 2023 (ES-14):

Грамматика Hashbang: ECMAScript 2023 вводит поддержку грамматики Hashbang, позволяя разработчикам указывать интерпретатор для файлов сценариев с использованием синтаксиса #!. Эта функция обеспечивает беспрепятственное выполнение в определенных средах.

Символы как ключи WeakMap. В ECMAScript 2023 символы можно использовать в качестве ключей в WeakMap структурах данных наряду с объектами. Это усовершенствование повышает гибкость и эффективность при использовании символов в качестве уникальных ключей для личных или внутренних данных.

Спасибо за чтение, счастливого кодирования :)

Если вы подписаны на меня, то изучите мое портфолио