Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 함수
- 유사배열객체
- async
- developers
- Promise
- 자연어처리
- vuejs
- await
- 챗봇
- 오픈빌더
- es6
- es7
- 변수
- 객체
- ReactNative
- 배열
- JavaScript
- 오픈채팅
- 콜백함수
- callback
- arguments
- 카카오톡채널
- 카카오
- 자바스크립트
- closure
- 플러스친구
- trim
- 순수함수
- callbackhell
- expo
Archives
- Today
- Total
말랑말랑 LAB
[JavaScript] 고차 함수 본문
자바스크립트의 고차 함수
o 고차 함수(Higher Order Function)의 정의
함수를 인자로 받아 대신 실행하는 함수
- 예제 - func라는 이름의 인자로 add 나 sub 함수를 받아 대신 실행하는 callWith10 은 고차 함수다.
함수를 리턴하는 함수
- 예제 - 실행 당시 받았던 10이라는 값을 받아 내부에서 익명 함수를 클로저로 만들어 val을 기억하게 만든 후 리턴
always10() 실행하면 항상 10을 리턴한다.
함수를 인자로 받아서 또 다른 함수를 리턴하는 함수
- 예제 - var1을 받아서 val1을 기억하는 함수를 리턴
리턴된 함수는 이후에 val2와 func를 받아 func를 대신 실행해준다
o 메모이제이션
- 컴퓨터 프로그램이 동일한 계산을 반복해야 할때, 이전에 계산한 값을 메모리에 저장함으로써
동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술 - memorize 함수는 고차 함수이며, 자바스크립트에서 메모이제이션의 대표적인 사례
- 한 번 들어온 인자에 대한 결과를 캐싱하여 함수 본체를 실행하지 않고 결과를 즉시 리턴
- 중첩 함수는 클로저 생성
## 다음 코드를 직접 실행해보자 !!
인수를 여러 개 받도록 확장할 수 있다
'JavaScript > JavaScript 스터디' 카테고리의 다른 글
[JavaScript] 화살표 함수 (0) | 2019.01.06 |
---|---|
[JavaScript] 이터레이터와 제너레이터 (0) | 2019.01.05 |
[JavaScript] 클로저 (0) | 2019.01.05 |
[JavaScript] 함수의 정의 (0) | 2019.01.05 |
[JavaScript] 제어문 (0) | 2018.12.28 |
Comments