인터페이스
- Javascript에서는 존재하지 않는다.
- 객체의 타입을 정의하고 생김새를 가지도록 할 수 있다.
- TypeScript에서의 클래스 기능은 C#에서 유래된 것이 많다.
- 일부 기능은 TS에서만 존재하는 고유 문법으로 컴파일 후에 사라진다.
extends
가 아닌 impolements
키워드로 구현
interface Person{
name:string,
age:number
}
const park:Person = {
name:'park',
age:99
}
implements
interface Animal{
name:string,
run():void
}
interface People{
sayName():string,
}
class AnyClass {
}
class Park extends AnyClass implements Animal,People{
constructor(public name:string,){
super();
}
run(){
console.log(this.name);
}
sayName() {
return `사람의 이름은 ${this.name}`
}
}
extends
interface We{
name:string,
run():string
}
interface Me extends We{
sayName():string
}
const kim:Me = {
name:'park',
run(){
return'string'
},
sayName() {
return 'string2'
},
}