🤓 Недавно узнал о новом методе массивов в JS (включая типизированные массивы). Встречайте with!
Метод очень простой, но ужасно полезный. Фактически - это альтернатива присвоению значения элемента. Например,
Ну и зачем оно надо? А давайте рассахарим вызов with.
Т.е. with это копирующий аналог изменения значения элемента массива.
Он был добавлен в одно время с другими похожими методами: toSorted, toReversed, toSpliced. Они точно также изменяют не сам объект, а создают его копию.
В общем годнота.
Метод очень простой, но ужасно полезный. Фактически - это альтернатива присвоению значения элемента. Например,
const arr = [1, 2, 3, 4, 5];
// Ставим элементу с индексом 1 значение 10
arr[1] = 10;
// Ставим элементу с индексом 1 значение 15
arr.with(1, 15);
Ну и зачем оно надо? А давайте рассахарим вызов with.
const arr = [1, 2, 3, 4, 5];
arr.with(1, 15);
Array.prototoype.with = function (index, value) {
const tmp = this.slice();
tmp[index] = value;
return tmp;
};
Т.е. with это копирующий аналог изменения значения элемента массива.
Он был добавлен в одно время с другими похожими методами: toSorted, toReversed, toSpliced. Они точно также изменяют не сам объект, а создают его копию.
В общем годнота.