반응형

Decorator 3

[NestJS] [데코레이터] 속성 데코레이터

속성 데코레이터 클래스의 속성 바로 앞에 선언 선언파일 선언클래스에서는 사용하지 못함 특징 두 개의 인수를 가지는 함수이다. 정적 멤버가 속한 클래스의 생성자함수이거나 인스턴스 멤버에 대한 클래스의 프로토타입 멤버의 이름 메서드 데커레이터, 접근자 데커레이터와 비교해 볼 때 속성 설명자가 존재하지않다는 특징이 있음 반환값 무시됨 구현 export class PropertyDecorationTest { @format('Hello') greeting: string; } function format(formatString: string) { return function (target: any, propertyKey: string): any { let value = target[propertyKey]; func..

재학습/NestJS 2023.06.22

[NestJS] [데코레이터] 매개변수 데코레이터

매개변수 데코레이터 생성자 또는 메서드의 매개변수에 선언되어 적용 선언파일 선언클래스에서는 사용될 수 없다 반환값 무시 호출시 3개의 인수와 함께 호출됨 정적멤버가 속한 클래스의 생성자 함수이거나 인스턴스멤버에 대한 클래스의 프로토타입 멤버의 이름 매개변수가 함수에서 몇 번째 위치에 선언되었는지를 나타내는 인덱스 구현 import { BadRequestException } from '@nestjs/common'; export class ParameterDecorationTest { private name: string; @Validate setName(@MinLength(3) name: string) { this.name = name; } } function MinLength(min: number) { ..

재학습/NestJS 2023.06.21

[NestJS] [데코레이터]

데코레이터 개념 횡단관심사를 분리하여 관점지향 프로그래밍을 할 수 있도록 해주는 기능 자바의 애너테이션과 유사함 @키워드를 붙여 사용 DTO검증뿐만아니라 다양한곳에 활용 가능 데코레이터 합성 각 데코레이터 표현은 위에서 아래로 평가된다. 결과는 아래에서 위로 함수로 호출된다. export class DecoCompositionTest { @first() @second() method() { console.log('method is called'); } } function first() { console.log('first() : factory evaluated'); return function ( target: any, propertyKey: string, descriptor: PropertyDescri..

재학습/NestJS 2023.06.17
반응형