JSFiddle - React, Tailwind, and code Playground
JavaScript
function outer(name) {
name = name || ''
// JS 클로저를 활용한 커링(currying) 패턴
return function inner(talk) {
// 클로저 발생은 내부 함수(inner)가 자신의 유효범위 밖의(바깥 함수) 변수(name)에 접근 시 발생한다.
return name + ' ' + talk;
};
}
var jsk = outer('jsk');
var mohwa = outer('mohwa');
console.log(jsk('message'));
console.log(mohwa('message'));