본문 바로가기
개발자 일기/일일회고 (TIL)

부트캠프 21일차(고차 함수)

by MS_developer 2022. 9. 20.

 

오늘의 생각

새로운 섹션이 시작되었다. 고차 함수를 배우게 됐는데, 이게 내가 아는 고차 함수가 맞나 싶었다. 자바스크립트를 처음 독학할 때 찾아보면서 했더니 고차 함수에 대해 깊게 배워본 적이 없었기 때문에 내가 생각하던 그 이상의 심오함과 어려움이 있었다. map, filter, reduce를 위주로 다뤘는데 생각보다 많이 헷갈렸다. 특히 filter가 헷갈린게 충격이었다. 그동안 공부하면서 나름 자주 썼는데...

 

 

코플릿을 진행하면서 문제 하나하나를 풀어가면서 정교하게 알고 있지 못했던 사실들도 다시금 알게 되었다. 기존에 화살표 함수arrow function을 애용했던 반면, 이번 코플릿을 진행할 때는 화살표 함수를 지양하고 function(parameter) 문법을 그대로 활용해 보았다. 입력해야하는 양이 많아지는 번거로움에 조금은 갑갑한 느낌이 들었다. 하지만 막상 function을 활용한 문법을 할 때 계속 오류가 발생했다. return 키워드를 까먹거나 중괄호나 매개변수를 까먹는 등 사소한 실수가 많이 일어났다.

 

내가 생각보다 기본기가 모자랐구나, 라는 생각이 들었다. .map() 내장 고차 함수를 설명해야 한다면 function을 활용한 기본 문법 형태도 알고 있어야하는데 그러지 못한 점이 아쉬웠다. 코플릿을 통해 다시 기본기를 다지고 정비할 수 있어서 다행이란 생각이 들었다.

 


오늘의 키워드

고차 함수higher order function, 내장 고차 함수, 콜백 함수callback function, 추상화abstraction


오늘의 학습내용

  • 고차 함수의 정의와 고차 함수를 일반 함수와 구분하는 방법
  • 콜백 함수의 정의와 호출될 때
  • 내장 고차 함수의 정의와 종류 (filter, map, reduce 등)
  • 고차 함수의 중요성
  • 추상화의 정의와 올바른 문법을 사용해야 하는 이유
  • 함수와 추상화의 이해

어려웠던 keyword / 활용한 질문

  • 고차 함수를 구분할 수 있는 고차 함수만의 특징이 뭔가요?
  • .filter 메서드는 왜 고차 함수인가요?
  • .reduce 메서드를 사용할 때 매개변수 3가지를 선언한다면, 각각 무엇인가요?
  • 값 수준에서의 추상화와 사고 수준에서의 추상화의 차이를 설명해보세요.

댓글