인프런 커뮤니티 질문&답변

._.님의 프로필 이미지
._.

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

NestJS 구조 & Controller 패턴

데코레이터 관련 질문이 있습니다.

작성

·

233

0

NEST 배우다보니 @데코레이터가 많이 나와서 뭔지를 좀 알고 싶어 구글링을 해봤는데요 NESTJS 공식 문서에 보니 해당 되는 타입스크립트 예제가 있었고 이해를 해보려고 했는데 모르겠어서 질문드리겠습니다.

 

@함수 1
@함수 2
함수3
일 때 함수1(함수2(함수3)) <- 이해 완료

질문1 .
근데 함수1이랑 함수2에 매개변수 void인데?
뭘 받는다는 거죠...

질문 2.
함수1이랑 함수2 보면 return에 익명함수 박아놨는데 이게 왜 실행되는 거임? 어디에도 저거 실행하라는 게 없는데요?
그니깐 함수1 return 익명함수
구조면 적어도 
함수1()() 이렇게 해야 실행되지 않나용?...

답변 1

0

안녕하세요 :)
답변 드립니다. 더 궁금하신 점 있으시면 언제든지 답글 달아주세요!

NestJS 를 잘하기 위해서는 데코레이터, 인터페이스, 클래스에 대한 TS 이해도가 높아야하니 공부해보시는 것을 적극 추천드립니다!

질문1) 근데 함수1이랑 함수2에 매개변수 void인데? 뭘 받는다는 거죠
-> 데코레이터는 함수이며 class , class field , class method , 파라미터에 붙을 수 있으며 파라미터로 void 가 들어가는 것이 아니라 contructor(생성자) 가 들어갑니다. 또한, method 와 field 같은 경우 3개의 파라미터가 자동으로 들어가게되며 target, 메타데이터, 설정 등 공식 문서를 참고해 보시면 좋을 것 같네요!

질문 2) 함수1이랑 함수2 보면 return에 익명함수 박아놨는데 이게 왜 실행되는 거임? 어디에도 저거 실행하라는 게 없는데요? 그니깐 함수1 return 익명함수 구조면 적어도 함수1()() 이렇게 해야 실행되지 않나용?...
-> 데코레이터는 붙이는 순간 인스턴스화 없이도 런타임에 자동 실행됩니다.

._.님의 프로필 이미지
._.

작성한 질문수

질문하기