웹_프론트엔드/TypeScript
[타입스크립트] 배열 내용으로 중복 코드 없이 타입 정의하기
young
2023. 12. 7. 10:05
반응형
// 특정한 나라 이름으로 이루어진 배열
type TCountry = "한국" | "태국" | "페루" | "뉴질랜드" | "포르투갈";
const countries = ["한국", "태국", "페루", "뉴질랜드", "포르투갈"];
위와 같이 특정 값으로 이루어진 배열이 있을 때, 이 배열을 위한 타입을 작성하면 중복 문자열이 생긴다.
이럴 때 아래와 같이 작성하면 중복 문자열을 줄일 수 있다.
// 특정한 나라 이름으로 이루어진 배열
const countries = ["한국", "태국", "페루", "뉴질랜드", "포르투갈"] as const;
// 배열 내의 나라 이름들로만 만드는 type
type TCountry = (typeof countries)[number];
countries 배열을 as const를 사용하여 불변(immutable)으로 선언한다. 다음, countries 배열의 모든 요소의 타입을 유니온으로 가져오는 표현식으로 타입을 정의한다.
반응형