반응형
interface User{
age : number;
name : string
}
// 변수를 인터페이스 활용
var seho : User = {
age : 33,
name : '세호'
};
// 함수의 인터페이스 활용 (많이사용)
function getUesr(user : User) : void {
console.log(user)
}
const capt = {
age : 44,
name : '캡틴'
}
getUesr(capt);
// 함수 스펙(구조)에 인터페이스를 활용 - 구조를 정의하는 인터페이스
interface SumFunction{
(a: number, b: number) : number
}
var sum: SumFunction;
sum = function(a : number, b : number) : number{
return a+b;
}
// 인덱싱
interface StringArray{
[index : number] : string;
}
var arr: StringArray = ['a','b','c']
// arr[0] = 20; //에러
// 인터페이스 딕셔너리 패턴 ★
// RegExp 정규표현식
interface StringRegexDictionary {
[key : string] : RegExp
}
var obj: StringRegexDictionary = {
// sth : /abc/,
cssFile : /\.css$/,
jsFile: /\.js$/,
}
// obj['cssFile'] = 'a'; 에러
Object.keys(obj).forEach(function(value){
console.log(value);
})
// 인터페이스 확장
interface Person{
name : string;
age : number;
}
interface Developer extends Person{
language : string;
}
var captain : Developer = {
name : 'capt',
age : 100,
language : 'ts'
}
반응형
'TypeScript > TypeScript - 기초부터 실전까지' 카테고리의 다른 글
10. 연산자를 이용한 타입 정의 - 유니온 타입(|), 인터섹션 타입(&) (0) | 2023.10.08 |
---|---|
9. 타입 별칭과 인터페이스의 차이점 (interface로 선언해서 사용하는 것을 추천) (0) | 2023.10.08 |
7. 실습 - 구체적인 타입 정의, 중복코드 제거 및 인터페이스 (0) | 2023.10.08 |
6. 함수타입 - 파라미터, 반환값, 파라미터를 제한하는 특성, 옵셔널 파라미터 (0) | 2023.10.08 |
5. 기본타입 - 문자열, 숫자, 배열, 튜플, 객체, 진위값 (0) | 2023.10.08 |