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'));