1. 인터페이스 작성법
interface TV { //인터페이스는 행위(메서드)를 기술해야 한다.
turnOn(): void; //void는 기본적으로 아무것도 반환하지 않는다는 것이다.
turnOff(): boolean;
}
const myTV: TV = {
turnOn() {
},
turnOff() {
return false;
}
}
function tryTurnOn(tv: TV) {
tv.turnOn(myTV);
}
tryTurnOn(myTv);
interface Cell {
row: number;
col: number;
piece?: piece; // piece가 없을 수도 있기에 '?'를 주고 optional 하게 되는 것이다.
}
interface piece {
move(from:Cell, to: Cell): boolean;
}
function createBoard () {
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;
}
}