타입스크립트 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
반응형
'컴퓨터언어 > React JS' 카테고리의 다른 글
iron-session과 next-auth (1) | 2024.11.25 |
---|---|
Nextjs와 기본 인증 (accessToken, refreshToken) (0) | 2024.11.21 |
React로 타이머 hooks 간단히 개발하기 (0) | 2024.11.18 |
useEffect === componentWillUnMount || componentDidMount || componentDidUpdate (0) | 2020.09.09 |
[Spread Operator] ...을 이용하여 서로 다른 배열이나 객체를 합치자 (0) | 2020.05.24 |