holdanddeepdive / javascript-deep-dive

3 stars 1 forks source link

12장 : 일급 객체 #9

Open sbyeol3 opened 2 years ago

sbyeol3 commented 2 years ago

Basically, first-class citizenship simply means “being able to do what everyone else can do.”

일급 객체의 조건

  1. 변수나 데이터 구조 안에 담을 수 있다.
  2. 함수의 파라미터로 전달할 수 있다.
  3. 함수의 반환 값으로 사용할 수 있다.

일급 객체인 함수를 일급 함수라고 한다. (first class function)

자바스크립트에서의 일급 객체

자바스크립트에서는 함수도 객체이므로 보통 일급 객체라고 하는 듯 하다.

조건을 어떻게 만족하는가?

  1. var const let 키워드를 사용하여 변수에 함수를 할당할 수 있다.
  2. 함수의 파라미터로 함수를 전달할 수 있다.
  3. 함수에서 함수를 반환할 수 있다.

자바스크립트에서 함수가 일급 객체인 것이 중요한 이유

'커링'이란 함수 하나가 n개의 인자를 받는 과정을 n개의 함수로 각각의 인자를 받도록 작성하는 것. 부분적으로 적용된 함수를 체인으로 계속 생성하여 결과적으로 값을 처리하도록 함.

참고

sbyeol3 commented 2 years ago

커링 관련해서 더 읽어볼 것