코딩과로그

nest.js에서는 DTO를 정의할 때 interface 보단 class를 권장한다. 본문

Node.js

nest.js에서는 DTO를 정의할 때 interface 보단 class를 권장한다.

피리음 2023. 3. 6. 17:19

사유: 인터페이스의 경우 타입스크립트에서 정의한 것이고 자바스크립트에는 없는 문법이다. 클래스의 경우 JavaScript ES6 이후부터 자바스크립트에 있는 문법이므로 트랜스파일링될 때에 보존되며 인터페이스는보존되지 않는다. 따라서 추후에 Pipes를 사용할 때에 인터페이스로 DTO를 정의한다면 참조할 수 없어 문제가 된다.

 

참고 자료:https://docs.nestjs.com/controllers#request-payloads