인터페이스(Interface)는 Java나 C# 등 정적 타입 언어에서 이미 많이 쓰이는 개념으로
객체가 여러 가지 프로퍼티 혹은 메서드를 가질 것이라고 선언하는 것.
// interface
interface student {
id: number;
name: string;
}
let person1: student;
person1 = {id: 1, name: 'june'};
person1은 student의 interface에 맞춰야 한다.
선택적 프로퍼티
인터페이스의 프로퍼티가 조건에 맞춰 존재하거나 없을 수 있을 경우에는, 프로퍼티 이름 끝에 ?을 붙여 사용한다.
// interface
interface student {
id: number;
name: string;
score?: number;
}
읽기 전용
일부 프로퍼티들은 객체가 처음 생성 될 때만 수정 가능해야 할때는 이름 앞에 readonly를 붙여 사용한다.
// interface
interface student {
readonly id: number;
readonly name: string;
score?: number;
}
let arr: ReadonlyArray<number> = [1,2,3,4,5];
arr[0] = 5;
// Array가 Ready Only라서 Error가 발생
함수 타입
함수 타입을 정의할 때
interface sum {
(arg1: number, arg2: number): numer;
}
const sum: sum = (arg1: number, arg2: number): number => {
return arg1 + arg2;
};
728x90
'Programming > Typescript' 카테고리의 다른 글
Typescript 기본 타입 (0) | 2021.05.22 |
---|