-
[ NestJS ] @IsString 데코레이터와 : string 타입은 뭐가 다를까?Topic/Node.js | server 2023. 7. 8. 12:44반응형
@IsString() 데코레이터와 : string 타입 어노테이션은 두 가지 다른 개념을 나타낸다.
@IsString() 데코레이터:
@IsString()은 class-validator 라이브러리에서 제공하는 데코레이터로, 해당 필드의 값이 문자열(string) 형식인지를 검증합니다. 즉, 입력된 값이 문자열이 아닌 경우 유효성 검사를 통과하지 못하게 됩니다. 이 데코레이터를 사용하여 DTO 클래스의 name 필드가 문자열 형식으로 제공되어야 함을 나타냅니다.: string 타입 어노테이션:
: string은 TypeScript에서 변수 또는 함수 매개변수의 타입을 명시하는 방법 중 하나입니다. 이 경우, name 필드가 문자열(string) 타입의 값을 가지는 것을 TypeScript에 알려줍니다. TypeScript 컴파일러는 이 정보를 사용하여 코드의 정적 타입 검사(static type checking)를 수행하고, 올바른 타입이 아닌 경우에는 오류를 발생시킵니다.
요약하면, @IsString() 데코레이터는 런타임에서 값의 유효성을 검사하고, : string 타입 어노테이션은 TypeScript 컴파일러가 컴파일 시간에 타입을 확인하도록 도와줍니다. 두 가지는 서로 다른 목적을 가지고 있지만, 함께 사용하면 런타임과 컴파일 시간에 각각 유효성 검사와 타입 검사를 수행하여 안전한 코드를 작성할 수 있습니다.
반응형'Topic > Node.js | server' 카테고리의 다른 글
[ NestJS ] nodemailer로 메일 발송하기 (0) 2023.07.23 [ NestJS ] firstValueFrom과 lastValueFrom의 차이 (feat. RXJS) (0) 2023.07.15 [ NodeJS ] Logger | .gz / gz파일 확인하기 (log.gz) (0) 2023.06.03 [ NodeJS ] 백엔드 재부팅 시 PM2 자동실행 설정 (0) 2023.05.27 [ NodeJS ] express에서 swagger로 API 명세서 만들기 (0) 2023.04.15