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

Позволяет ли декоратор передавать что-либо

Да, декораторы могут принимать аргументы. Есть два основных способа:

  1. Декоратор с параметрами - оборачивается в ещё одну функцию:
javascript
function decorator(param) {
  return function(target) {
    target.prototype.param = param;
  }
}

@decorator('value')
class MyClass {}

text

2. **Декоратор метода с аргументами** - может модифицировать поведение метода:
```javascript
function logDecorator(target, name, descriptor) {
  const original = descriptor.value;
  descriptor.value = function(...args) {
    console.log('Arguments:', args);
    return original.apply(this, args);
  }
  return descriptor;
}

class Example {
  @logDecorator
  method(a, b) { return a + b; }
}

Декораторы получают доступ к:

  • Целевому объекту (класс/метод/свойство)
  • Его имени
  • Дескриптору (для методов)
  • Могут возвращать новый дескриптор
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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