type alias vs utility type

조회 113

큰 프로젝트에서 type alias와 utilty type 이 두개 중에 성능이나 가독성면에서 차이가 있나요? 아직 타입스크립트에 익숙하진 않아서 제 생각에는 취향 차이인 것 같은데 다른 분들 의견은 어떠신지 궁금합니다

구체적이고 정성스러운 질문에 Up 투표를 눌러주세요.

설명이 부족한 질문에 Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.

답변 1

정현수님의 프로필 사진

안녕하세요. 타입스크립트에서 타입 별칭과 유틸리티 타입에 대해서 질문을 주셨군요. 둘을 비교하자고 하면, 사실 둘의 용도가 다릅니다. 그래서 용도나 가독성을 비교하기전에 해당 기술이 어디에 쓰이는지 알고 사용하면 돼요! 그래서 취향 차이라기보다는 적재적소에 잘 쓰면 된다. 가 답이 될 수 있겠네요. Type alias는 기존 타입에 다른 이름을 부여하는 것이고, utility type은 기존 타입을 기반으로 새로운 타입을 생성하는 것입니다. 예를 들어, type Alias = string; 이렇게 하면 string이라는 타입에 Alias라는 이름을 부여할 수 있습니다. 단순히 타입 별칭은 위의 기능을 하고 있어요. Type말고도 interface로 타입을 지정해줄 수도 있는데 자세한 것은 아래 링크에서 확인해볼 수 있을 것 같네요. https://joshua1988.github.io/ts/guide/type-alias.html#%ED%83%80%EC%9E%85-%EB%B3%84%EC%B9%AD-type-aliases 또한 유틸리티 타입 같은 경우는 내부에 어떻게 구현이 되어있는지 알 수 있어요. 제가 사진으로 첨부드린 것을 보면 유틸리티 타입 중에 하나인 Required 타입이 있는데 Required 타입은 제네릭으로 들어온 타입을 순회하면서 전부 optional(? 물음표를 붙이면 옵셔널이 돼요.)을 제외시켜주는 것을 볼 수 있어요. 저런식으로 구현을 다 볼 수 있어요. 그래서 유틸리티 타입은 간단하게 말하면 우리가 개발을 하다보면 유틸 함수를 만드는데 그런 것 처럼 타입스크립트 팀에서 자주쓰이는 것들을 함수처럼 빼놓은 것이라고 볼 수 있어요. 만약에 타입스크립트를 조금 더 잘 쓰고 싶다. 다양한 유틸 함수를 나도 만들어보고 싶다. 그러면 https://github.com/type-challenges/type-challenges 해당 레파지토리 참고하셔서 문제를 하나씩 풀어보시면 타입스크립트에 대한 이해도가 조금 올라갈 수 있을 것 같아요. 감사합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.