변수에 할당(assignment)할 수 있다.
다른 함수의 전달인자(argument)로 전달될 수 있다.
다른 함수의 결과로써 리턴될 수 있다.
함수를 변수에 할당할 수 있기 때문에, 함수를 배열의 요소나 객체의 속성 값으로 저장할 수 있다. 함수를 데이터(string, number, boolean, array, object)처럼 다룰 수 있다.
고차 함수(higher order function)는 함수를 전달인자(argument)로 받을 수 있고, 함수를 리턴할 수 있는 함수
다른 함수(caller)의 전달인자(argument)로 전달되는 함수를 콜백 함수(callback function)
JavaScript에는 기본적으로 내장된 고차 함수가 여럿 있다.
filter
배열의 각 요소가
특정 논리(함수)에 따르면, 사실(true)일 때
따로 분류(filter).
map
배열의 각 요소가
특정 논리(함수)에 의해
다른 요소로 지정(map)
reduce
배열의 각 요소를
특정 방법(함수)에 따라
원하는 하나의 형태로
응축. (reduction)
복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드 추상화
고차함수의 경우 개념이 어려운거같다. 문제 32개를 풀어보면서 어느정도 익숙해진거같지만..개념을 다시보면 이게 뭔말인지 제대로 모르겠다.