[typescript] 컴파일러 플래그를 사용하여 데코레이터 지원하기

TypeScript는 ECMAScript 6(ES6)에서 도입된 데코레이터를 지원합니다. 그러나 기본적으로 데코레이터 지원이 비활성화되어 있습니다. 이를 활성화하기 위해 컴파일러 플래그를 사용할 수 있습니다. 이번 글에서는 TypeScript 컴파일러 플래그를 사용하여 데코레이터를 지원하는 방법에 대해 알아보겠습니다.

데코레이터란 무엇인가?

데코레이터는 TypeScript나 ES6에서 도입된 메타프로그래밍 기능 중 하나로, 클래스나 클래스 멤버에 추가적인 메타데이터를 부착할 수 있게 해줍니다. 주로 Angular나 NestJS와 같은 프레임워크에서 주로 활용되고 있습니다.

컴파일러 플래그를 사용하여 데코레이터 활성화하기

TypeScript는 --experimentalDecorators 플래그를 사용하여 데코레이터를 활성화할 수 있습니다. 이 플래그를 사용하는 방법은 다음과 같습니다.

tsc --target ES5 --experimentalDecorators

또는 tsconfig.json 파일을 이용하여 설정할 수도 있습니다.

{
  "compilerOptions": {
    "target": "ES5",
    "experimentalDecorators": true
  }
}

활성화 후 주의사항

데코레이터를 활성화한 이후에는, 데코레이터를 사용하기 위해 reflect-metadata 라이브러리를 추가해주어야 합니다.

위의 설정을 통해 TypeScript 컴파일러 플래그를 사용하여 데코레이터를 지원할 수 있습니다. 이를 통해 메타프로그래밍 기능을 활용하여 더욱 유연하고 강력한 코드를 작성할 수 있게 됩니다.

참고 문헌: