NestJS로 Service를 작성하던 중에 항상 아래와 같이 작성하는 이유에 대해서 궁금했었다.
constructor(private aaService : AaService)
1. private를 쓰는 이유?
JS에서는 private,public,protected와 같은 접근제한자를 쓸 수 없다. (이제 알았다..)
Typescript에서는 위와 같은 접근제한자를 지원하기 때문에 private와 같은 접근제한자를 constructor 내부에서 파라미터로 사용할 수 있다
2. boardsService : BoardsService
boardService 파라미터에 BoardService 객체를 타입으로 지정해준다.
이 boardService 파라미터를 BoardsController 클래스 안에서 사용하기 위해 this.boardService 프로퍼티에 boardsService를 할당해준다.
But 타입스크립트에서는 선언한 값만 객체의 프로퍼티로 사용가능하기 때문에 위에 boardService : BoardService로 선언해준다.
-> 이렇게 선언된 boardService 프로퍼티를 이용해서 BoardsController 클래스 안에서 활용할 수 있는 것이다.
순서를 정리하자면,
constructor ~
this ~
boardsService : BoardService ~
※ 인프런 '따라하면서 배우는 NestJS' 강의를 참고하여 쓴 글입니다.
'Backend > NestJS' 카테고리의 다른 글
unknown_request_mapping_exception_1.UnknownRequestMappingException(metatype); (0) | 2023.03.24 |
---|---|
model의 역할 + 게시판의 기본 구성 살펴보기 (0) | 2023.03.20 |
NestJS Controller,Service 톺아보기(+ Decorator/Handler 차이,Provider,@Injectable ) (0) | 2023.03.16 |
nest.cli.json에서 source root(프로그램 시작점) 찾기 (0) | 2023.03.15 |
controller의 역할 (0) | 2023.03.07 |