[TypeScript] as 대신 satisfies

Tony·2024년 1월 19일
0

typescript

목록 보기
20/22

satisfies는 타입스크립트 4.9버전에 업데이트되었습니다

satisfies 는 as와 같이 타입 캐스팅하는 용도로 사용할 수 있습니다

as는 강제로 해당 타입으로 만들어주지만 satifies는 실제로 타입이 맞는지 확인을 합니다

type Post = {
  id: number;
  title: string;
  content: string;
  createdAt: string;
  updatedAt: string;
};

type CreatePostParams = {
  post: Post;
};

const createPost = async ({ post }: CreatePostParams) => {
  // ...
};

createPost({
  post: {
    id: 1,
    title: "title",
    content: "content",
  } as Post,
});

createPost({
  post: {
    id: 1,
    title: "title",
    content: "content",
  } satisfies Post,
}); // satisfies 는 타입을 만족하는지 아닌지 검사합니다

  • as로 타입을 캐스팅하면 위와 같이 타입 중 일부가 없어도 타입에러가 발생하지 않지만
  • satisfies는 모두 있는지 확인해서 안전하게 사용할 수 있습니다
profile
움직이는 만큼 행복해진다

0개의 댓글