TypeScript 4.9 버전에 추가된 satisfies 연산자.
“satisfies” 키워드: literal (값) 이나 변수를 안전하게 upcast 하는 기능을 수행
const palette = {
red: [255, 0, 0],
green: "#00ff00",
blue: [0, 0, 255], // blue 오타
}
// const palette: {
// red: number[];
// green: string;
// blue: number[];
// }
const palette = {
red: [255, 0, 0],
green: "#00ff00",
blue: [0, 0, 255], // blue 오타
} satisfies Record<'red' | 'green' | 'blue', [number, number, number] | string>;
// 타입 결과
// const palette: {
// red: [number, number, number];
// green: string;
// blue: [number, number, number];
// }
palette
의 타입은 타입 추론된 const
객체가 되면서 각각의 요소들은 Record
타입 선언한 것으로 다시 한 번 더 검사 → 개별적으로 적용How to Use the TypeScript satisfies Operator
satisfies
연산자란 무엇인가?satisfies
연산자는 주어진 유형이 특정 조건이나 인터페이스를 충족하는지 확인.satisfies
모든 변수가 정의에 적합하고 특정 유형 또는 인터페이스의 필수 속성을 모두 갖고 있는지 확인Person
유형의 모든 값을 확인하기 때문