타입스크립트에서 인터페이스로 정의할 수 있는 타입의 종류와 인터페이스로 타입을 정의하는 방법
interface Person {
name: string;
age: number;
}
const p1: Person = { name: 'mike', age: 23 };
const p2: Person = { name: 'mike', age: 'ten'}; // type error
선택속성은 객체에서 없어도 되는 속성을 말하며 물픔표 기호를 사용한다.
interface Person {
name: string;
age?: mumber;
}
const p1: Person = {name: 'mike'};
이렇게 선택 속성이 정의된 인터페이스를 사용하면 에러가 발생하지 않는다.
하지만 아래와 같이 물음표 기호 대신에 undefined
를 사용하면 선택 속성과 달리 명시적으로 age
속성을 입력해야한다.
interface Person {
name: string;
age: number | undefined;
}
const p1: Person = { name: 'mike' } // type error
const p2: Oerson = { name: 'mike', age: undefined};