02. Декораторы, модули и сущности в NestJS

Для доступа к видео оформите подписку на курс

02. Декораторы, модули и сущности в NestJS

Изучение декораторов в TypeScript, старт проекта на NestJS, работа с модулями и добавление новой сущности. Понимание структуры проекта и масштабирования backend-приложения.

Оценить качество материала и подачу материала автором видео:

Front-end

Трудоустройтесь middle front-end разработчиком на React JS (TypeScript) за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Front-end

Back-end

Трудоустройтесь middle back-end разработчиком за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Back-end

Карьерный бустер

Получите коммерческий опыт на реальных стартапах, прокачайте tech & soft навыки, научитесь работать в команде, проходить собеседования и получите первую работу в IT!

Перейти на курс
Карьерный бустер

Основы Front-end

Сделайте первый шаг в IT, освоив базовые знания разработки и научившись создавать небольшие проекты на JavaScript

Перейти на курс
Основы Front-end

Основы Back-end

Сделайте первый шаг в IT, освоив базовые знания разработки. Без опыта. Без математики. Только практика: JavaScript, SQL, Node JS, база данных

Перейти на курс
Основы Back-end

3. Декораторы в TypeScript

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

Виды декораторов

  • Классовый декоратор: применяется к классу и может изменять или заменять его.
  • Декоратор метода: применяется к методу класса и позволяет изменить поведение метода.
  • Декоратор свойства: применяется к свойствам класса.
  • Декоратор параметра: применяется к параметрам метода.

Пример использования

Рассмотрим простой пример декоратора, который будет логировать вызовы метода.

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

...

Для доступа к полной версии конспекта оформите подписку на курс