1
2
3
4
5
6
7
8
9
10
11
interface Person{
    name:string;
    [index:string]:string;
}
 
const person:Person={
    name:'mark'
    indexableVar:'test'
}
 
 
cs


[index:string]에서 string 자리에 올수 있는건 number혹은 string 뿐이다.
















































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
interface Iperson{
    name: string;
    hello(): void;
}
 
class Person implements Iperson{//Person클래스에서 프로퍼티 name과 hello()는 반드시 구현되어야한다.
    name = null;
 
    constructor(name: string) {
        this.name = name;
    }
 
    hello(): void{
        console.log(`hello, my name is ${this.name}`);
    }
 
    hi(): void{
        console.log(`hi, my name is ${this.name}`);
    }
}
 
const p1:Person = new Person('minsu');
const p2:Iperson = new Person('sooji');
 
p1.hello();
p1.hi();
 
p2.hello();//p2는 Iperson클래스 이므로 hi()를 가지고 있지 않다.
cs








'frameworks > typescript' 카테고리의 다른 글

[typescript]iterator  (0) 2018.12.11
[typescript]generic(+additional:string literal type)  (0) 2018.12.07
[typescript]class  (0) 2018.12.07
[typescript]type assertion  (0) 2018.12.06
[typescript]type  (0) 2018.12.06

+ Recent posts