ChatCrawlerпоиск по публичному Telegram Открыть приложение
C

CodeBase | Frontend Chat

сообщение · 2026-03-03 06:50 UTC
I
🧬 Иммутабельность из коробки: toSorted(), toSpliced() и with() Сколько раз вы ловили трудноуловимые баги в React или Redux из-за того, что методы sort(), reverse() или splice() незаметно мутируют оригинальный массив? Раньше, чтобы обновить состояние, нам приходилось плодить поверхностные копии через спред-оператор. // ❌ Старая школа (много шума) const sortedUsers = [...users].sort((a, b) => a.age - b.age); // А замена элемента по индексу вообще выглядела как пытка: const updatedUsers = [...users]; updatedUsers[index] = newUser; В стандарте ES2023 (Baseline 2023) JavaScript наконец-то получил нативные иммутабельные методы массивов. Они делают то же самое, но возвращают новый массив, оставляя оригинал нетронутым. 🚀 Как пишем теперь: 1. Сортировка и разворот // ✅ Оригинал цел, получаем новый массив const sorted = users.toSorted((a, b) => a.age - b.age); const reversed = users.toReversed(); 2. Удаление/вставка (вместо splice) const months = ["Jan", "Mar", "Apr", "May"]; // Вставляем "Feb" на индекс 1 (ничего не удаляя) const fixedMonths = months.toSpliced(1, 0, "Feb"); // ["Jan", "Feb", "Mar", "Apr", "May"] 3. 🔥 Метод with() - киллер-фича для React Заменяет элемент по индексу без мутаций. Идеально для обновления конкретного элемента в массиве состояния. const state = ['apple', 'banana', 'cherry']; // Меняем 'banana' на 'mango' const newState = state.with(1, 'mango'); // ['apple', 'mango', 'cherry'] 💡Методы работают не только с массивами, но и с TypedArrays (например, Uint8Array). А метод with() отлично справляется с отрицательными индексами - arr.with(-1, newItem) заменит последний элемент массива без вычисления его длины! CodeBase | Frontend | #js
565 ·

Все сообщения за 3 марта 2026 · Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог