Interface가 필요한 이유
function xyz(p: { label: string }) {
console.log(p.label);
}
const m = { size: 10, label: '홍' };
xyz(m);
typescript 의 interface
- interface는 typescript의 객체가 반드시 준수해야 되는 구문을 정의
- interface 내에는 멤버(속성,메서드) 선언만 가능
- 실제 멤버를 정의할 때는 파생 클래스를 이용
(파생 클래스에서 멤버 추가 불가. interface에서 선언된 멤버만 사용가능)
- 타입을 정확히 맞춰줄 수 있음
interface p_interface {
size: number;
label: string;
}
function xyz2(p: p_interface) {
console.log(p.size, '\t', p.label);
}
const m1 = { size: 10, label: '홍' };
xyz2(m1);
const m2 = { label: '홍' };
interface실습
interface IPerson {
firstName: string;
lastName: string;
sayHi: () => string;
}
var customor: IPerson = {
firstName: 'Tom',
lastName: 'Hanks',
sayHi: (): string => {
return 'hi there';
},
};
console.log('Customer Object');
console.log(customor.firstName);
console.log(customor.lastName);
console.log(customor.sayHi());