타입스크립트 as와 satisfies 비교

2024. 11. 20. 21:44컴퓨터언어/React JS

728x90
반응형
특징 as 단언 (assertion) satisfies 연산자
초과 프로퍼티 검사 무시함 검사함
타입 강제성 강제로 타입을 변경하며, 이는 개발자가 책임짐 애초에 타입에 엄격하게 부합해야 함
런타임 영향 없음
주요 용도 임시적으로 타입 단언이 필요할 때 정밀한 타입 체크 및 코드 안정성 확보

 

예를 들어, 아래 코드는 validPerson이라는 객체가 Person 타입을 만족하는지 검사하는 용도로 쓰인다.

type Person = { name: string; age: number };

const validPerson = {
  name: "철수",
  age: 30,
  job: "Developer",
} satisfies Person; // 에러 - 'job'은 타입에 정의되지 않은 속성

 

satisfies가 없었다면(4.9버전 미만), 해당 변수가 특정 타입을 만족하는지의 여부를 명시적으로 표현할 방법이 없다.

 

흔히 알고 있는 as는 말그대로 강제로 단언하는 것이며, 오류가 난다면 개발자의 책임이다.

728x90
반응형