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

fffvvv님의 프로필 이미지
fffvvv

작성한 질문수

타입스크립트 입문 - 기초부터 실전까지

이넘을 이용한 타입 정의

enum vs as const

작성

·

418

2

실제 서비스를 만드시면서 enum을 많이 사용하시나요? enum보다 as const로 사용하는 것이 훨씬 좋다는 글을 봐서 여쭤봅니다.

const phoneType = ['home', 'office', 'studio'] as const;

type PhoneType = typeof phoneType[number];

이렇게도 쓸 수 있을 거 같은데 실무에서 어떤 방법을 더 선호하시나요?

 

 

그리고 이렇게 만든 경우에 interface는 [phone: PhoneType] : {} 이렇게 작성할 경우 오류가 뜨는데, interface를 만들 때 key를 string으로 넓게 잡는 것이 아니라 원하는 문자열만 될 수 있도록 범위를 좁히는 방법이 있나요? (아래처럼 사용하고 싶어서요)

type PhoneNumberDictionary {
[phone in PhoneType]: {
num: number;
};
}

 

위처럼 코드를 작성할 경우 아래와 같은 에러가 발생합니다ㅠㅠ

답변 2

0

fffvvv님의 프로필 이미지
fffvvv
질문자

https://engineering.linecorp.com/ko/blog/typescript-enum-tree-shaking/
이런 글을 봤었어서 혹시 현업에선 어떻게 사용하고 계시는지 궁금하여 여쭤봤습니다!

아래 문제는 해결했습니다~!

0

안녕하세요, 좋은 질문이네요. 이넘보다 as const가 좋다는게 어떤 부분인가요? 자료 공유해 주시면 저도 봐볼게요. 본문에 첨부해 주신 코드는 전체를 올려주셔야 도와드릴 수 있을 것 같아요 :)

fffvvv님의 프로필 이미지
fffvvv

작성한 질문수

질문하기