TIL 22일차 고차함수

홍인열·2021년 9월 14일
0

아마 부트캠프 시작이후 가장 머리를 많이 쥐뜯은 날일 꺼다..개념에 익숙해지는데 함참 걸린거같다.
코플릿은 12시가 넘어서야 끝냈다. 덕분에 화살표함수도 많이 써보고 고차함수 3종에 사용에 익숙해졌다.
개념을 아주 쉽고 간단하게 잡고 가야겠다.

고차함수 Higher order function

함수를 인자로 사용하거나 return값이 함수인 함수 !!

콜백함수 Callback function

고차함수에서 인자로 함수를 사용한다하고했는데 그때 사용되는 함수!! 불려가는함수? 콜되는 함수 ? 이정도로 생각하면 되겠다.

커링함수 Curring function

코플릿 풀다가 찾아보지도 못했다.. 휴 주말에 개념좀 확인해봐야겠다.

고차함수

오늘 이녀석들 덕분에 시간도 잘가고 재밌었다. 하..

filter

배열의 인자를 특정 조건에 따라 걸러내는 함수

const fruits = ['apple', 'mango', 'banana', 'watermelon']
const selectFruits = fruits.filter(el => el.length > 5); // 배열 요소의 길이가 5보가 큰 요소만 새로운 배열로 만든다.
console.log(selectFruits);
// > ['banana', 'watermelon'] 

map

모든 배열의 인자에 접근하여 특정 동작을 하도록한다.

const fruits = ['apple', 'mango', 'banana', 'watermelon']
const goodFruits = fruits.map(el => 'good'+el); // 각각의 배열 요소에의 앞에 'good'을 붙이도록 만든 함수.
console.log(goodFruites);
// > ['goodapple', 'goodmango', 'goodbanana', 'goodwatermelon']

reduce

제일 어려웠던거같다..보통 누산기라고한다.
매개변수가 배열의 인자들로 계속 봐껴가며 특정 동작을 반복하기 때문에 행동을 누적하기 좋다.
배열의 인자를 순선대로 모두 접근하며 특정 동작을 하는게 반복문과 비슷한 부분이 있기도하다.

const fruits = ['apple', 'mango', 'banana', 'watermelon']
const countWord = fruits.reduce((arr, cur) => arr + cur.length ,0) // 여기서 arr은 초기값, 초기값을 지정하지 않았으면 배열의 처음 값이다.
cosole.log(countWord);
// > 26 
// cur은 초기값이 없었다면 배열의 두번째값 초기값이 있었다면 배열의 첫번째 값이다.
// cur은 동작 실행후 배열의 순서대로 값이 변화한다!!
// 맨뒤에 ,0 이있는데 이 0이 초기값이다. 초기값은 임의조 설정할 수 있다.
// 그러면 함수가 실행이되면 arr 과 cur을 가지고 특정 동작을 진행한다. 그리고 리턴되는 값이 다음 동작에서 arr 값이 된다!!
// 때문에 return 값이 상수일수도 있고 변수일수도있고 다양할 수 있다. 다만 다음 동작시 매개변수 arr의 값이 된다는걸 명심하자!
profile
함께 일하고싶은 개발자

0개의 댓글