DOM и React Middle Компоненты на практике обновлено

Цепочка методов над узлом

Условие

Функция $(selector) возвращает объект с методами addClass, toggleClass, html, css - каждый применяется к найденному узлу и возвращает тот же объект, чтобы вызовы можно было соединять в цепочку. Если узел не найден, методы не должны падать.

Что проверяют тесты

  • цепочка применяется

  • toggleClass снимает класс

  • несколько классов сразу

  • узел не найден - без падения

  • каждый метод возвращает тот же объект

Как подойти

Мини-jQuery: задача про паттерн текучего интерфейса. Ключ - возврат одного и того же объекта из каждого метода, а не создание нового. Отсутствующий узел не роняет цепочку: это осознанное поведение jQuery, из-за которого опечатка в селекторе не ломает страницу, но и не сообщает об ошибке - стоит сказать, что это спорный компромисс. innerHTML с пользовательскими данными - XSS, поэтому в реальной обёртке рядом с html делают text через textContent.

Подсказки: 3
  1. Каждый метод возвращает объект-обёртку, а не сам узел.
  2. Отсутствие узла не должно ронять цепочку - проверяй перед каждым действием.
  3. className затирает все классы, classList добавляет.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.