객체 공부 (4)

/**
인수로서의 객체와 함수 기본 1
객체 인수
**/
var todo = {
items: [],
status: {
allCount: 0,
completeCount: 0
},

// getter와 setter 형식을 이용하여 객체 외부에선
// 속성으로 표현되나 내부에선 함수로 처리할 수 있다.
get allCount() {
return this.status.allCount;
},

set allCount(count){
console.warn('임의로 할 일 개수를 설정할 수 없습니다, addItem 기능을 사용해 주십시오.');
},

// ES2015 사양에 추가된 기본값 인수
// 이 문법을 활용하면 인수가 전달되지 않았을 때의 처리 코드를 생략할 수 있음
addItem: function(title, options = {}){
let newTodo = {
title: title
};

newTodo.date = !!options.date ? options.date : '2017-06-17';
newTodo.complete = !!options.complete;

this.items.push(newTodo);

this. status.allCount++;
if(newTodo.complete){
this.incrementCompletTodo();
}
},

completeTodo(index){
this.items[index].complete = true;
this.incrementCompletTodo();
},

incrementCompletTodo() {
this.status.completeCount++;
}
};

todo.addItem('객체와 함수 학습', {
date: '2017-06-17'
});

todo.addItem('객체 내의 객체 학습');
todo.addItem('객체 인수 다루기', {
complete: true
});

console.log(todo.status);


'javascript' 카테고리의 다른 글

객체 공부 (5)  (0) 2017.09.13
느낌표 두 개(!!)의 역할  (0) 2017.09.13
객체 공부 (3)  (0) 2017.09.13
객체 공부 (2)  (0) 2017.09.13
객체 공부  (0) 2017.09.13

+ Recent posts