Назад к вопросам
Junior — Middle
86
Расскажите о вашем опыте использования декораторов в программировании.
Компании, где спрашивали
Бизнес-Азимут
Ответ от нейросети
sobes.tech AI
В программировании, в частности в JavaScript и Node.js, декораторы — это функции, которые позволяют модифицировать поведение других функций, методов или классов без изменения их исходного кода.
Я использовал декораторы для:
- Логирования вызовов функций — чтобы автоматически выводить информацию о входных параметрах и результатах.
- Кэширования результатов функций с дорогими вычислениями.
- Валидации данных перед выполнением метода.
Пример простого декоратора в JavaScript:
function logDecorator(fn) {
return function(...args) {
console.log(`Вызов функции ${fn.name} с аргументами:`, args);
const result = fn.apply(this, args);
console.log(`Результат:`, result);
return result;
};
}
function sum(a, b) {
return a + b;
}
const decoratedSum = logDecorator(sum);
decoratedSum(2, 3);
В TypeScript и современных версиях JavaScript есть синтаксис декораторов для классов и методов, что упрощает их использование и делает код более выразительным.