Research
Typescript 5.0 RC 발표에서 데코레이터 부분 요약
TypeScript 5.x 표준 데코레이터 문법과 실무 적용 시 주의점을 간결하게 정리합니다.
Typescript 5.0 RC 발표에서 데코레이터 부분 요약
TypeScript 5.x의 데코레이터는 기존 실험적 데코레이터와 성격이 다릅니다. 핵심은 "표준 문법으로 메서드/클래스를 래핑하는 규칙"입니다.
기본 개념
데코레이터는 대상(메서드/필드/클래스)과 context를 받아 동작을 확장하거나 대체합니다.
대표 사용 예:
- 로깅
- 권한 체크
- 실행 시간 측정
- 자동 바인딩
실무에서 중요한 포인트
- 데코레이터 적용 순서는 아래에서 위로(역순 합성)
this바인딩이 필요한 메서드는 초기화 훅(addInitializer) 활용- 타입 안전성을 위해 context 타입(
ClassMethodDecoratorContext) 명시 - 구 experimental decorator 코드와 혼용 시 마이그레이션 전략 필요
권장 패턴
- 데코레이터는 공통 횡단 관심사(cross-cutting concern)에만 사용
- 비즈니스 핵심 로직을 데코레이터 내부에 숨기지 말 것
- 테스트에서 데코레이터 적용/미적용 경로를 둘 다 검증
결론
TS 데코레이터는 강력하지만 남용하기 쉽습니다. "가독성 개선"이 명확할 때만 도입하고, 실행 순서와 타입 안정성을 문서화해 두는 것이 안전합니다.