이전 절의 타입 별칭 예제를 인터페이스로 바꿔보았는데, 한 가지 이상한 점이 있습니다. name 속성을 타이핑한 부분의 마지막에 콤마(,)를 사용했고, age 속성을 타이핑한 부분의 마지막에는 세미콜론(;)을 사용했습니다. married 속성의 마지막에는 콤마도 세미콜론도 붙이지 않고 줄바꿈만 했습니다. 이처럼 인터페이스의 속성 마지막에는 콤마나 세미콜론, 줄바꿈으로 구분할 수 있습니다.
다만 인터페이스를 한 줄로 입력할 때는 콤마나 세미콜론으로 속성을 구분해야 합니다. 물론 실무에서는 한 가지 방식으로만 일관성 있게 사용하는 것을 권장합니다.
interface Person { name: string, age: number, married: boolean }
인터페이스로 배열과 함수도 타이핑할 수 있습니다.
interface Func {
(x: number, y: number): number;
}
const add: Func = (x, y) => x + y;
interface Arr {
length: number;
[key: number]: string;
};
const arr: Arr = ['3', '5', '7'];