반응형
클래스 데코레이터
- 클래스 바로 앞에 선언
- 클래스의 생성자에 적용
- 클래스의 정의를 읽거나 수정 가능
- 선언파일과 선언클래스내에서는 사용불가능
구현
@reportableClassDecorator
export class ClassDecorationTest {
type = 'report';
title: string;
constructor(t: string) {
this.title = t;
}
}
function reportableClassDecorator<T extends { new (...args: any[]) }>(
constructor: T
) {
return class extends constructor {
reportingURL = 'http://www.example.com';
};
}
- 클래스데커레이터는 생성자를 리턴하는 함수다.
결과
- reportingURL은 선언해주지도, 초기화하지도않았지만 객체결과로서 존재한다.
- 클래스데코레이터를 통해 속성이 추가되었기 때문이다.
반응형
'재학습 > NestJS' 카테고리의 다른 글
[NestJS] [데코레이터] 접근자 데코레이터 (0) | 2023.06.20 |
---|---|
[NestJS] [데코레이터] 메서드 데코레이터 (0) | 2023.06.19 |
[NestJS] [데코레이터] (0) | 2023.06.17 |
[NestJS] Swagger 적용( 과 Swagger -> Redoc으로 변경..은 하려고하였으나~~ ) (0) | 2023.01.08 |
[NestJS] Swagger vs Redoc (0) | 2023.01.08 |