Найти тему
PurpleSchool

ES2023 - что нового в JavaScript?

Оглавление

Введение

В данной статье мы обсудим новые возможности работы с массивами в JavaScript, которые были добавлены в ES2023.

findLast и findLastIndex

Допустим, у нас есть массив с элементами:

Нам нужно найти элемент со значением 7, и мы предполагаем, что он находится ближе к концу массива.

В предыдущем варианте когда мы использовали find(), мы бы делали это следующим образом:

-2

Это может быть нормально для небольших массивов, но если массив большой и вы знаете, что элемент находится ближе к концу, то можно использовать метод findLast():

-3

В этом случае вывод будет происходить только 1 раз.

Аналогично существует метод findLastIndex(), который ищет элемент по индексу.

Методы не изменяющие исходный массив

Большинство методов работы с массивами в JavaScript изменяют исходный массив вместо создания нового. Например, это может вызвать проблемы в React, когда необходимо изменить состояние и создать новый массив. Мы рассмотрим, как это решается в последней версии спецификации ES2023 и в JavaScript. Потому ниже мы рассмотрим новые методы, которые позволяют этого избежать.

with

Предположим, нам нужно:

  • Взять массив
  • Изменить его элемент
  • Создать новый массив

Теперь с помощью метода with() мы можем это сделать гораздо проще. Нам нужно передать индекс, на котором мы хотим заменить элемент, а затем значение этого элемента:

-4

Метод with() копирует исходный массив, меняет один элемент и возвращает новый массив с измененным элементом по указанному индексу.

toSorted

Метод toSorted() сортирует элементы массива так же, как и метод sort(), но возвращает новый массив:

toReversed

Метод toReversed() меняет порядок элементов в массиве на обратный, как и метод reverse(), но возвращает новый массив:

-5

toSpliced

Метод toSpliced() является копией метода splice(), но возвращает новый массив:

-6

Заключение

Если вы хотите детальнее разобраться в работе JavaScript я приготовил для вас подробные курсы:

JavaScript с нуля - основы языка и практика для начинающих

16 часов коротких лекций по 10 - 15 минут

15 упражнений для закрепления на практике

15 тестов для проверки знаний

- Рейтинг ⭐ 4.9 на основании отзывов

- 30-ти дневная гарантия возврата денег

Полный курс - JavaScript Advanced - продвинутые концепции языка и ООП

18 часов коротких лекций по 10 - 15 минут

30 упражнений для закрепления на практике

14 тестов для проверки знаний

- Рейтинг ⭐ 4.9 на основании отзывов

- 30-ти дневная гарантия возврата денег