<aside> 💡 코어 자바스크립트 5장 클로져

</aside>

부분 적용 함수

n개의 인자를 받는 함수에 일부 인자를 클로져를 활용해서 기억시켜놓고, 새로운 함수를 만든다.

Object.defineProperty

Object.defineProperty(window, '_', {
  value: 'EMPTY_SPACE',
  writable: false,
  configurable: false,
  enumerable: false
})

Symbol.for

var EmptySpace = Symbol.for('EMPTY_SPACE')

전역 심볼공간에 문자열이 이미 있으면, 해당 값을 참조하고, 없으면 생성

커링

여러 인자를 받는 함수를 하나의 인자만 받는 함수로 나눈다.

curryFunc(func)(a)(b)(c)
var curryFunc = func => a => b => c => func(a,b,c)