큰 프로젝트에서 type alias와 utilty type 이 두개 중에 성능이나 가독성면에서 차이가 있나요? 아직 타입스크립트에 익숙하진 않아서 제 생각에는 취향 차이인 것 같은데 다른 분들 의견은 어떠신지 궁금합니다
답변 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 해당 레파지토리 참고하셔서 문제를 하나씩 풀어보시면 타입스크립트에 대한 이해도가 조금 올라갈 수 있을 것 같아요. 감사합니다.
정하승
작성자
프론트엔드 개발자 • 1월 22일
감사합니다!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!