[TS] 타입스크립트 첫걸음 3편(인덱싱, 확장,상속)
인덱싱
1
2
3
4
5
6
7
8
// 인덱싱
interface StringArray {
[index: number]: string;
}
var arr: StringArray = ["a", "b", "c"];
arr[0] = 10; // 에러가 난다.
인터페이스 딕셔너리(Dictionary ) 패턴
1
2
3
4
5
6
7
8
9
10
interface StringRegexDictionary {
[key: string]: RegExp; // 자동완성되는 정규식
}
var obj: StringRegexDictionary = {
// sth: /abc/
// cssFile: 'css' // 에러가 난다. regExp 양식에 맞지 않기 때문
cssFile: /|.css$/,
jsFile: /|.js$/,
};
인터페이스 확장(상속)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 인터페이스 확장
interface Person {
name: string;
age: number;
}
interface Developer extends Person {
// name: string;
// age: number;
// 위와 같이 중복되는 코드가 있다. 이는 상속을 받을 수 있다.
language: string;
}
var aquaman: Developer = {
name: "sungrin",
age: 31,
language: "hi",
};