6. 함수형프로그래밍
함수형 프로그래밍
1. 함수전달
구현코드
var HamiltonianTour = (function () {
function HamiltonianTour(options) {
this.options = options;
}
HamiltonianTour.prototype.startTour = function () {
if (this.options.onTourStart && typeof (this.options.onTourStart) === 'function') {
this.options.onTourStart();
this.visitAttraction("King's Landing");
this.visitAttraction("Winterfell");
this.visitAttraction("Eyrie");
if (this.options.onTourCompletion && typeof (this.options.onTourCompletion) === 'function') {
this.options.onTourCompletion();
}
}
};
HamiltonianTour.prototype.visitAttraction = function (attractionName) {
if (this.options.onEntryToAttraction && typeof (this.options.onEntryToAttraction) === 'function') {
this.options.onEntryToAttraction(attractionName);
}
// 관광명소에서 하는 일
if (this.options.onExitFromAttraction && typeof (this.options.onExitFromAttraction) === 'function') {
this.options.onExitFromAttraction(attractionName);
}
};
return HamiltonianTour;
})();
console.log("\n**** 1. 함수전달 ****\n");
var tour = new HamiltonianTour({
onEntryToAttraction: function (cityName) {
console.log("I'm delighted to be in ~ " + cityName);
},
onTourStart: function () {
}
});
tour.startTour();2. 필터와 파이프
구현코드
3. 어큐뮬레이터
구현코드
Last updated