day1.
파일
index.ts
import TodoItem from "./TodoItem";
const data = [// data의 type을 지정해 주지 않았다. 아래 코드로 초기화를 진행해주면서 data라는 것의 타입을 추론한다.
{id : 1, task:'장보기', complete:true},
{id : 2, task: 'TS 학습하기', complete:false},
];
console.log('My Todo List');
for (let i =0; i<data.length; i++) { //i의 type을 지정하지 않았다. (number이다.)이것 또한 type을 지정해 주지 않았지만 아래 코드로 type을 추론할 수있다.
let todoItem = new TodoItem(data[i].id, data[i].task, data[i].complete);
todoItem.printDetails();
}
index.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const TodoItem_1 = __importDefault(require("./TodoItem"));
const data = [
{ id: 1, task: '장보기', complete: true },
{ id: 2, task: 'TS 학습하기', complete: false },
];
console.log('My Todo List');
for (let i = 0; i < data.length; i++) {
let todoItem = new TodoItem_1.default(data[i].id, data[i].task, data[i].complete);
todoItem.printDetails();
}
TodoItem.ts
class TodoItem {
constructor(public id: number , public task:string, public complete: boolean){
this.id = id;
this.task = task;
this.complete = complete;
}
printDetails(): void {
console.log(
`${this.id}\t${this.task}\t${this.complete ? "\t(complete": ""}`
);
}
}
export default TodoItem;
TodoItem.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class TodoItem {
constructor(id, task, complete) {
this.id = id;
this.task = task;
this.complete = complete;
this.id = id;
this.task = task;
this.complete = complete;
}
printDetails() {
console.log(`${this.id}\t${this.task}\t${this.complete ? "\t(complete" : ""}`);
}
}
exports.default = TodoItem;