Итоги курса
Курс о массивах и объектах в JavaScript.
Что ты узнал
- Массивы: основы — создание, доступ,
push,splice,slice - Перебор —
for,for...of,forEach,map,filter,reduce - Методы массивов — полный обзор, ES2023
- Объекты: основы — доступ, методы, вычисляемые ключи
- Методы объекта —
keys,entries,freeze,defineProperty - Деструктуризация — массивов, объектов, вложенная
- Spread и rest — копии, слияния, вариативные аргументы
- Map, Set, WeakMap, WeakSet — современные коллекции
- Копирование и сравнение — ссылки,
structuredClone - Практика — группировка, нормализация, парсинг
Ключевые идеи
Массивы — упорядоченные, объекты — по ключу. Выбирай структуру по задаче.
Методы массивов — основа. map, filter, reduce — 90% работы.
Иммутабельность важна. Для React, Redux, функционального стиля — создавай новые объекты.
Spread — поверхностный. Вложенные — через structuredClone.
Объекты по ссылке. Сравнение через === работает только для той же ссылки.
Map лучше объекта для частых добавлений, любых ключей, порядка.
Set для уникальности. [...new Set(arr)] — классика.
Деструктуризация упрощает код. Особенно в параметрах.
Частые ошибки
- Мутировать массив или объект
- Сравнивать объекты через
=== - Забыть про поверхностность
spread - Использовать
for...inдля массивов sortбез компаратора для чиселreduceбез начального значения- Путать
sliceиsplice - Использовать
deleteвместоfilter
Что дальше
- Классы — ООП, наследование
- Прототипы — основа классов
- Модули —
import/export - Промисы — продвинуто
- Генераторы —
function* - TypeScript — типизация структур
Полезные ссылки
- MDN Arrays: developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array
- MDN Objects: developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object
- javascript.info: javascript.info/array, javascript.info/object
- Lodash: lodash.com
Заключение
Массивы и объекты — основные структуры данных в JavaScript. Почти вся работа с данными сводится к их перебору, фильтрации, преобразованию. Методы массивов и объектов — твой ежедневный инструмент. Практикуй map, filter, reduce до автоматизма: они встречаются в каждом проекте.