매서드 호출은 객체.메서드() 와 같이 호출하는 방법을 의미한다.
매서드 호출 방식을 이용할 때에는 화살표함수를 쓰지 않는다
.
-> this
키워드를 쓸때 현재의 자신의 위치를 인지하지 못하기 때문에.
let count = {
value: 0,
increase: function() {
this.value++
},
decrease: function() {
this.value--
},
getValue: function() {
return this.value
}
}
위와 같은 객체가 있다.
이 객체는 단 하나의 객체만 만들수 있다.
만약 똑같은 기능을 하는 카운터가 여러개 필요하다면, 이코드를 여러번 만들어야한다.
그러면 코드를 계속 복붙 해야 하므로, 재사용성이 아주 떨어진다.
이럴때 사용하는 게 클로저 모듈 패턴
을 이용할 수 있다.
->
function makeCount() {
let value = 0;
return {
increase: function() {
value++;
},
decrease: function() {
value--;
},
getValue: function() {
return value;
}
}
}
let count1 = makeCount()
let count2 = makeCount()
이렇게 만들면 각각의 독립성을 갖고 같은 기능을 갖는다.