TypeScript - [interface]

박성원·2020년 11월 26일
0

TypeScript

목록 보기
9/9
post-thumbnail

Interface가 필요한 이유

// interface가 필요한 이유
// 1. size속성이 필요하지만, 문제 없이 실행된다.
function xyz(p: { label: string }) {
  console.log(p.label);
}

const m = { size: 10, label: '홍' };
xyz(m); // size가 없어도 홍이 출력된다.

typescript 의 interface

  • interface는 typescript의 객체가 반드시 준수해야 되는 구문을 정의
  • interface 내에는 멤버(속성,메서드) 선언만 가능
  • 실제 멤버를 정의할 때는 파생 클래스를 이용
    (파생 클래스에서 멤버 추가 불가. interface에서 선언된 멤버만 사용가능)
  • 타입을 정확히 맞춰줄 수 있음
// 2. 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); // 10  홍
const m2 = { label: '홍' };
// xyz2(m2); // error 실행 안됨

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);  //Tom 
console.log(customor.lastName); //Hanks
console.log(customor.sayHi());  //hi there
profile
개발 일기장

0개의 댓글