> Как реализовать метод addClass с поддержкой цепочки вызовов (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: JavaScript
> Пример ответа
Для реализации метода addClass с поддержкой цепочки вызовов (chaining) необходимо возвращать сам объект (this) из метода. Это стандартный паттерн в jQuery и современных фреймворках.
Пример на чистом JavaScript:
JAVASCRIPTclass Element {constructor(tag) {this.element = document.createElement(tag);this.classes = [];}addClass(className) {this.classes.push(className);this.element.className = this.classes.join(' ');return this; // ключевой момент для цепочки}setText(text) {this.element.textContent = text;return this;}appendTo(parent) {parent.appendChild(this.element);return this;}}// Использование с цепочкой:const div = new Element('div');div.addClass('container').addClass('active').setText('Привет').appendTo(document.body);
Если нужно реализовать для существующего DOM-элемента:
JAVASCRIPTfunction addClass(element, className) {element.classList.add(className);return element; // возвращаем элемент для цепочки}// Использование:const el = document.querySelector('#myElement');addClass(el, 'highlight').classList.add('visible'); // можно продолжить цепочку с нативными методами
Ключевой принцип: каждый метод должен возвращать this (или сам объект/элемент), чтобы следующий вызов мог работать с тем же экземпляром. Это позволяет писать лаконичный и читаемый код.
> Похожие задачи по frontend
Как предотвратить двойной заказ при двойном клике на кнопку?
Как работает приведение типов в выражениях с операторами сравнения в JavaScript
Какие проблемы решаются с помощью статических методов Promise в JavaScript
Какие данные можно мутировать в JavaScript, а какие нет
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью