티스토리 뷰

타입스크립트

타입스크립트 Decorator

이안곰 2023. 3. 16. 20:01
반응형

타입스크립트에서 데코레이터(Decorator)는 클래스, 메서드, 프로퍼티, 매개변수 등의 선언부에 첨부하여 해당 선언부에 대한 추가적인 의미를 부여하는 문법입니다.

여기서 의미란 클래스, 메서드, 프로퍼티, 매개변수 등의 선언부를 변경하거나, 기능을 추가하거나, 메타데이터를 추가하는 등의 작업을 할 수 있게 해 줍니다.

데코레이터는 일종의 함수이며, @ 기호를 사용하여 선언하며, 데코레이터가 적용되는 선언부에 대한 정보를 인자로 전달합니다.

간단한 예시를 들어보겠습니다.

function exampleDecorator(target: any) {
  // do something
}

@exampleDecorator
class ExampleClass {
  // do something
}

위 코드에서 @exampleDecorator 는 ExampleClass 에 대한 데코레이터입니다. exampleDecorator 함수가 실행되며, ExampleClass 에 대한 정보가 target 인자로 전달됩니다.

데코레이터를 사용하여 클래스나 메서드, 프로퍼티, 매개변수 등의 선언부에 대한 기능을 추가할 수 있습니다.

예를 들어, @Component 데코레이터를 사용하면 해당 클래스가 컴포넌트임을 나타내며, @Input 데코레이터를 사용하면 해당 프로퍼티가 부모 컴포넌트에서 전달 받는 입력값임을 나타냅니다.

이처럼 데코레이터는 코드의 가독성을 높이고, 재사용성을 높여주며, 코드의 중복을 줄여주는 등의 장점이 있습니다.

하지만 데코레이터를 남용하면 가독성이 떨어지고, 디버깅이 어려워질 수 있으니 적절하게 사용하는 것이 좋습니다.

 

반응형
댓글