Junior — Middle
Разкажете ни за вашия опит с използването на декоратори в програмирането.
sobes.tech AI
Отговор от 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 има синтаксис за декоратори за класове и методи, което улеснява използването им и прави кода по-изразителен.