TIL 4주차 - 1. 고차함수

lim1313·2021년 8월 10일
0

부트캠프 TIL

목록 보기
12/49

일급객체

  • 일급 객체 : 변수나 데이터에 할당 가능, 인자로 넘기기 가능, 리턴값으로 리턴하기 가능
  • 일급 함수 : 함수가 다른 일급 객체와 동일하게 다루어 질때, 일급 함수라고 지칭한다
  • 변수에 할당(assignment) 할 수 있다.
  • 다른 함수의 인자(argument)로 전달될 수 있다.
  • 다른 함수의 결과로서 리턴될 수 있다.

함수를 변수에 할당할 수 있기 때문에, 함수를 배열의 요소나 객체의 속성값으로 저장할 수 있다. 이는 함수를 데이터(string, number, boolean, array, object)를 다루듯이 다룰 수 있다는 걸 의미

고차함수

'함수를 리턴하는 함수'와 '함수를 인자로 받는 함수'

고차 함수(higher order function)는 함수를 인자(argument)로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수

콜백함수

다른 함수(caller)의 인자(argument)로 전달되는 함수가 콜백 함수(callback function)


array.flat()

중첩된 배열 구조를 평탄화하기 위해 사용

const arr = arr.flat([depth])

fruits.flat()
['apple','banana',['melon']]

fruits.flat(infinity)
['apple','banana','melon']

더 생각해 볼 주제 (optional)

  • MapReduce 학습하기 (MapReduce Model)
  • 자바스크립트에서 커링(currying)과 클로저(closure)의 차이 이해하기 (js closure vs curry)
  • 선언형 프로그래밍(declarative programming)과 절차형 프로그래밍(imperative programming)의 차이를 배열 메소드를 통해 이해하기 (js imperative vs declarative)
  • 함수의 조합(function composition)에 대해 학습하기 (javascript function composition)
profile
start coding

0개의 댓글