Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про TypeScript: функция

Определение декоратора в TypeScript?

Типы и виды функций в JavaScript

Короткий ответ

Декоратор — это специальная функция, которая модифицирует класс, метод, свойство или параметр. В TypeScript декораторы добавляют метаданные или изменяют поведение без изменения исходного кода.

Длинный ответ

Декораторы объявляются с @ и применяются к классам или их членам. Они работают на этапе инициализации, а не во время выполнения.

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

function log(target: any, key: string, descriptor: PropertyDescriptor) {
	const originalMethod = descriptor.value;
	descriptor.value = function (...args: any[]) {
		console.log(`Вызван метод ${key} с аргументами: ${args}`);
		return originalMethod.apply(this, args);
	};
	return descriptor;
}
class Calculator {
	@log
	add(a: number, b: number) {
		return a + b;
	}
}
const calc = new Calculator();
calc.add(2, 3); // В консоли: "Вызван метод add с аргументами: 2,3"

Типы декораторов:

  • Класса — модифицирует конструктор.

  • Метода — изменяет поведение метода.

  • Свойства — добавляет валидацию или логирование.

  • Параметра — проверяет или преобразует аргументы.

Применение:

  • Валидация данных (например, @MinLength(5)).

  • Логирование, кеширование, авторизация.

  • Фреймворки (Angular, NestJS).

Декораторы помогают расширять функциональность кода чисто и декларативно.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#функция

Подпишись на React Developer в телеграм