> Как реализовать метод addClass с поддержкой цепочки вызовов (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Сбер

Стек: JavaScript

> Пример ответа

Для реализации метода addClass с поддержкой цепочки вызовов (chaining) необходимо возвращать сам объект (this) из метода. Это стандартный паттерн в jQuery и современных фреймворках.

Пример на чистом JavaScript:

JAVASCRIPT
class 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-элемента:

JAVASCRIPT
function addClass(element, className) {
element.classList.add(className);
return element; // возвращаем элемент для цепочки
}
// Использование:
const el = document.querySelector('#myElement');
addClass(el, 'highlight')
.classList.add('visible'); // можно продолжить цепочку с нативными методами

Ключевой принцип: каждый метод должен возвращать this (или сам объект/элемент), чтобы следующий вызов мог работать с тем же экземпляром. Это позволяет писать лаконичный и читаемый код.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью