TC39 Ecma International — это группа разработчиков JavaScript, реализаторов, ученых и других лиц, которые сотрудничают с сообществом для поддержки и развития определения JavaScript. Одной из самых интересных особенностей Этапа 3 (который означает, что он близок к завершению) является возможность изменить массив путем копирования. Эта функция предоставит в будущем дополнительные методы для Array.prototype и TypedArray.prototype, позволяющие вносить изменения в массив, возвращая новую его копию с изменением.

В этой статье мы обсудим три таких метода: toReversed, toSorted и toSpliced и сравним их с более часто используемыми методами reverse, sort и splice.

обратный метод

Метод toReversed используется для создания нового массива, противоположного исходному массиву. Исходный массив остается неизменным.

Вот пример, иллюстрирующий разницу между toReversed и reverse:

Как видите, метод toReversed возвращает новый массив с элементами в обратном порядке, а исходный массив остается неизменным.

С другой стороны, метод reverse изменяет исходный массив на месте. Вот пример:

Таким образом, хотя оба метода могут использоваться для обращения массива, toReversed создает новый массив, а reverse изменяет исходный массив.

метод toSorted

Метод toSorted используется для сортировки элементов массива в определенном порядке. Как и toReversed, этот метод возвращает новый массив, оставляя исходный массив без изменений.

Вот пример, иллюстрирующий разницу между toSorted и sort:

С другой стороны, метод sort изменяет исходный массив на месте. Вот пример:

метод toSpliced

Метод toSpliced используется для удаления элементов из массива. Он возвращает новый массив с удаленными указанными элементами, оставляя исходный массив без изменений.

Вот пример, иллюстрирующий разницу между toSpliced и splice:

Как видите, метод toSpliced возвращает новый массив с оставшимися после удаления элементами.

С другой стороны, метод splice изменяет исходный массив на месте. Вот пример:

Таким образом, оба метода могут использоваться для объединения массива, но toSplice создает новый массив, а splice изменяет исходный массив.

Могу ли я использовать их сегодня?

Сегодня toReversed, toSorted и toSpliced не являются частью стандарта ECMAScript. Они находятся на стадии 3 как кандидаты на спецификацию, что означает, что они близки к завершению.

Однако в Chrome эти методы доступны начиная с версии 110. Если вы не хотите ждать, пока они станут частью спецификации, вы всегда можете использовать их через полифиллы.

Удачного кодирования! :D

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.