타입 확인을 위해 사용
변수, 함수, 클래스에 사용
여러타입을 갖고 있는 요소로 이루어진 새로운 타입을 정의
interface Student ={
name: String,
age: number
}
위의 예제에서 Student
는 name
과 age
의 속성을 가지고 있는 interface
즉, 하나의 타입을 만들어 사용한다고 선언하는 것과 같다.
let Bob: Student = {
name: 'Bob',
age: 10
}
Bob
이라는 변수를 만드는데 이 변수의 타입은 위의 Student
인 것
interface
사용 시, 속성은 반드시 구현되어야 한다.
그러나, 속성 끝에 ? 를 붙여 주면 정의한 모든 속성을 전부 사용하지 않아도 된다.
interface Student ={
name?: String,
age: number
}
let Bob: Student = {
age: 10
}
함수의 타입 정의에도 사용이 가능하다
interface Sum{
(a: number, b: number) : number
}
let sum: Sum
sum = function(a,b){
return a+b
}