as const를 사용하면 배열이 "변경할 수 없는 고정된 값"이 됨.
예를 들어:
// 일반 배열
const normalArray = ["PG", "SG", "SF", "PF", "C"];
normalArray.push("NEW"); // 가능
normalArray[0] = "NEW"; // 가능
// readonly 튜플 (as const 사용)
const readonlyArray = ["PG", "SG", "SF", "PF", "C"] as const;
readonlyArray.push("NEW"); // 에러! 새로운 값 추가 불가
readonlyArray[0] = "NEW"; // 에러! 값 변경 불가
즉, as const를 붙이면:
1. 배열의 내용을 수정할 수 없게 됨
2. 각 위치의 값이 정확한 타입으로 고정됨
3. TypeScript가 이 배열을 기반으로 정확한 타입을 만들 수 있음
실제 농구 포지션은 5개로 고정되어 있고 변경될 일이 없으므로, as const를 사용하는 것이 안전하고 정확하게 됨.