[TS] interface for Object

Chanki Hong·2023년 4월 3일
0

TypeScript

목록 보기
9/9
post-thumbnail

interface

  • Object의 타입은 Type Aliases(type키워드) 생성에 더해
  • interface 키워드로 타입변수 생성 가능.
// type 키워드
type Square = { color: string; width: number };

// interface 키워드
interface Square {
  color: string;
  width: number;
}

const 네모: Square = { color: 'red', width: 100 };

interface vs. type

  • interfacesextends 가능.
  • type(intersection; 교차타입)과는 다르게 실제로 복사의 기능을 가짐.
interface Student {
  name: string;
}
interface Teacher extends Student {
  age: number;
}

const 학생: Student = { name: 'kim' };
const 선생: Teacher = { name: 'kim', age: 20 };
  • interfaces는 중복선언이 가능.
  • 중복선언을 하면 내용이 추가됨.(합집합)
  • 단, 중복속성은 불가.
interface Student {
  name: string;
}
interface Student {
  score: number;
}
// Student { name: string, score: number } 을 의미함.
  • 즉, 커스터마이징이 쉬움. (type 보다 덜 엄격)

0개의 댓글