강의

멘토링

로드맵

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

목화님의 프로필 이미지
목화

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

PickType 활용하기

PickType 사용 시 `as const`를 꼭 사용해야 하나요?

작성

·

21

0

https://docs.nestjs.com/openapi/mapped-types#pick

 

문서에서 as const를 쓰던데 안 써도 괜찮은가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

as const는 TypeScript에서 사용되는 구문으로, 리스트의 요소들을 리터럴 타입으로 고정시키는데 사용됩니다. 기본적으로 배열의 요소들은 일반적인 문자열 타입으로 해석되지만 as const를 사용하면 각 요소가 ‘리터럴 타입’으로 변환됩니다. 이로 인해 더 구체적인 타입 확인과 안전성을 보장할 수 있습니다.

NestJS에서 PickType을 사용할 때 as const를 붙이지 않으면 특정 요소들이 ‘리터럴 타입’이 아닌 그냥 ‘string’ 타입으로 처리됩니다. 그러므로, as const를 사용하는 것은 타입 안전성을 높이고 자바스크립트 구조의 처음 정의된 형태를 변경하지 않도록 합니다.

다음의 예시를 통해 이해를 돕겠습니다:

  • PickType을 사용 시 'age'를 타입으로 설정 하게 되면, 'age'string 타입으로 취급됩니다.
    
    PickType(CreateCatDto, ['age']) // 'age'는 string 타입 리스트입니다.
    

  • as const를 사용하여 'age'를 고정하면 'age'가 리터럴 타입으로 취급됩니다.
    
    PickType(CreateCatDto, ['age'] as const) // 'age'는 'age' 타입 리스트입니다.
    

그래서 결론적으로 프로젝트에 따라 as const를 사용하지 않고도 동작할 순 있지만, 가능한 as const를 사용하는 것이 더 안전한 코드 작성을 돕습니다. 추가적인 TypeScript 타입 안전성을 높이고자 할 때 고려하시면 도움이 될 듯 합니다.

관련된 유사한 질문과 답변을 확인하기 위해 다음 URL을 참고해 주세요:
- NestJS Mapped types에 관해 궁금한게 있습니다

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

목화님의 프로필 이미지
목화

작성한 질문수

질문하기