Урок 12

Итоги курса

Курс о массивах и объектах в 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 до автоматизма: они встречаются в каждом проекте.