Встречается на собеседованиях • сегодня

Что дают декораторы

Декораторы в JavaScript (и TypeScript) — это функции, которые модифицируют поведение классов, методов, свойств или параметров. Они позволяют добавлять функциональность без изменения исходного кода, следуя принципу AOP (Aspect-Oriented Programming).

Основные применения:

  • Логирование
  • Валидация
  • Кеширование
  • Авторизация
  • Измерение производительности

Пример с методом класса:

typescript
function log(target: any, key: string, descriptor: PropertyDescriptor) {
  const originalMethod = descriptor.value;
  
  descriptor.value = function(...args: any[]) {
    console.log(`Calling ${key} with`, args);
    const result = originalMethod.apply(this, args);
    console.log(`Result:`, result);
    return result;
  };

  return descriptor;
}

class Calculator {
  @log
  add(a: number, b: number) {
    return a + b;
  }
}

Декораторы выполняются при инициализации класса, а не при каждом вызове метода. В TypeScript для их использования нужно включить experimentalDecorators в tsconfig.json.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы