interface 문법을 사용하면 object 자료형의 타입을 편리하게 지정할 수 있다.
interface Square {
color :string,
width :number,
}
let 네모 :Square = { color : 'red', width : 100 }
이렇게 object랑 비슷한 모습으로 작성하면 된다. interface는 type alias와 용도와 기능이 같다. 대문자로 작명하고, {} 안에 타입을 명시해주면 된다.
그리고 interface는 extends도 가능하다.
interface Student {
name :string,
}
interface Teacher {
name :string,
age :number,
}
이렇게 서로 다른 인터페이스에 중복되는 속성이 있으면
interface Student {
name :string,
}
interface Teacher extends Student {
age :number,
}
이렇게 extends 문법을 사용하면 된다.
interface Animal {
name :string
}
interface Animal {
legs :number
}
인터페이스는 type과 달리 중복선언이 가능하고 extends 한 것과 동일하게 동작한다. 이러면 Animal은 name, legs 속성을 갖는다.