
129
6
장
배열
const
어서션
명시적 타입 애너테이션에 튜플 타입을 입력하는 작업은 명시적 타입 애너테이션을 입력할 때
와 동일한 이유로 고통스러울 수 있습니다. 즉, 코드 변경에 따라 작성 및 수정이 필요한 구문
을 추가해야 합니다.
하지만 그 대안으로 타입스크립트는 값 뒤에 넣을 수 있는
const
어서션인
as
const
연산자
를 제공합니다.
const
어서션은 타입스크립트에 타입을 유추할 때 읽기 전용
read
-
only
이 가능한
값 형식을 사용하도록 지시합니다.
다음과 같이 배열 리터럴 뒤에
as
const
가 배치되면 배열이 튜플로 처리되어야 함을 나타냅
니다.
// 타입: (string | number)[]
const unionArray = [1157, "Tomoe"];
// 타입: readonly [1157, "Tomoe"]
const readonlyTuple = [1157, "Tomoe"] as const;
const
어서션은 유연한 크기의 배열을 고정된 크기의 튜플로 전환하는 것을 넘어서, 해당 튜
플이 읽기 전용이고 값 수정이 예상되는 곳에서 사용할 수 없음을 나타냅니다.
다음 예제에서
pairMutable
은 전형적인 명시적 튜플 타입이므로 수정될 수 있습니다. 그
러나
as
const
는 값이 변경될 수 있는
pairAlsoMutable
에