230314_TIL (고차함수)

PYM·2023년 3월 14일
0

Today I Learned

목록 보기
3/20
post-thumbnail

오늘의 썸네일은 친구한테 받은 화이트데이 선물...! 레몬맛만 먹어봤는데, 먹어보고 싶었던 애플민트맛을 받아서 너무 기분 좋았다 ㅎㅎ 너무 맛있어!! 고마워~ 🥹

🌱오늘 한 것

  • 고차함수에 대해 배웠다.
  • 고차함수 연습 문제를 풀었다.

🌱기억해야할 것

  • 일급 객체란 변수에 할당할 수 있고, 다른 함수를 인자로 전달 받을 수 있으며 다른 함수의 결과로서 리턴될 수 있는 객체

    • 대표적으로 '함수'가 있다.
  • 고차함수란 매개변수로 함수를 받을 수 있는 함수 & 함수를 리턴할 수 있는 함수!

    • 콜백함수: 다른 함수의 매개변수로 전달되는 함수
    • 커링함수: 함수 자체를 리턴하는 함수
  • 대표적인 내장 고차 함수에는 map, filter, reduce 가 있다.

  • 고차 함수를 사용하는 이유는, '추상화'를 위해서.
    즉, 생산성의 향상을 위해 사용한다.


🌱더 알아볼 것

  • map, filter, reduce 이외에도
    forEach, find, sort, some, every 에 대해 알아보자

  • MapReduce 학습하기

  • 자바스크립트에서 커링(currying)과 클로저(closure)의 차이 이해하기

  • 선언형 프로그래밍(declarative programming)과 절차형 프로그래밍(imperative programming)의 차이를 배열 메서드를 통해 이해하기

  • 함수의 조합(function composition)에 대해 학습하기


🌱한 줄 감상

고차 함수...! map함수는 사용해 봤지만, 이상적인 사용법은 처음 배웠다. 그래서 안좋은 습관이 들어있어서 배운대로 적용이 살짝 어려웠다. 그래도 연습문제를 반복해서 풀다보니, 또 생각보다 금방 적응해서 사용했다. 역시 이상적인 사용법이 익숙해지기만 한다면 훨씬 편하고 논리적인 것 같다. 앞으로도 나쁜 습관 들지 않게 조심해야지...

그리고 filter랑 reduce는 처음 배운 내용이라 다소 헷갈렸다. 특히 reduce! 그치만 연습문제를 반복해서 풀고, 풀고 난 뒤 내 코드와 reference의 코드를 비교하고 또 실시간 세션에서 말로 풀어서 하는 설명을 다시 듣고나니, 꽤나 이해된 거 같다. 오늘 풀었던 코플릿 연습문제는 주말에 한번씩 쫙 다시 풀어봐야겠다. 확실하게 내 지식으로 만들기 위해서!!!

profile
목표는 "함께 일하고 싶은, 함께 일해서 좋은" Front-end 개발자

0개의 댓글