Interface (인터페이스)
interface
를 통해서 하나의 data type
을 정의한다.
interface
를 통해서 매서드를 정의하고 반환값을 정해준다.
// interface 선언
interface TV {
// 매서드 및 return type 선언
turnOn(): boolean;
turnOff(): boolean;
}
// interface를 가지고 객체를 생성
const myTv: TV = {
// interface내에 매서드와 return type를 선언 해준다.
turnOn() {
return true;
},
turnOff() {
return false;
}
}
function tryTurnOn(tv: TV) {
tv.turnOn();
}
tryTurnOn(myTv);
// data만 가지고 있는 interface
interface Cell {
row: number;
col: number;
piece?: Piece;
}
interface Piece {
// interface를 가지고 type를 지정해준다.
move(from: Cell, to: Cell): boolean;
}
function createBoard() {
// Cell interface를 가지고 배열의 값을 지정해준다.
const cells: Cell[] = [];
for (let row = 0; row < 4; row++) {
for (let col = 0; col < 3; col++) {
cells.push({ row, col });
}
}
return cells;
}
const board = createBoard();
board[0].piece = {
move(from: Cell, to: Cell) {
return true;
}
}
'TypeScript' 카테고리의 다른 글
Enum (열거형 상수) (0) | 2021.05.04 |
---|---|
Function (함수) (0) | 2021.05.01 |
TypeScript Type Annotation2 (변수 타입 선언) (0) | 2021.04.29 |
TypeScript Type Annotation (변수 타입 선언) (0) | 2021.04.28 |
TypeScript 설치 (0) | 2021.04.27 |
댓글
이 글 공유하기
다른 글
-
Enum (열거형 상수)
Enum (열거형 상수)
2021.05.04 -
Function (함수)
Function (함수)
2021.05.01 -
TypeScript Type Annotation2 (변수 타입 선언)
TypeScript Type Annotation2 (변수 타입 선언)
2021.04.29 -
TypeScript Type Annotation (변수 타입 선언)
TypeScript Type Annotation (변수 타입 선언)
2021.04.28