[TIL]200814 고차함수

Chaegyeom·2020년 8월 31일
0

TIL

목록 보기
15/77
post-thumbnail

오늘부터의 남은 Pre코스 일정은 가장 어렵다는 일정들만 남았다

우선 그 시작은 고차함수(higher order function)이다.

고차함수를 본격적으로 시작하기 전에 일급객체(First-class citizen)에 대해서 배우는 시간을 가졌다.

일급 객체(First-class citizen)란

  1. 변수(variable)에 할당(assignment) 할 수 있다.
  2. 다른 함수의 인자(parameter)로 전달 될 수 있다.
  3. 다른 함수의 반환 값(return value)으로 리턴될 수 있다.
    라는 3가지 조건을 만족하는 객체이다.

그리고 위의 3가지 조건을 만족하는 함수는 데이터(string, number, boolean, array, object)를. 다루듯이 다룰 수 있다는 것을 의미한다.

고차함수(higher order function)

그렇다면 고차함수는 무엇일까?
고차 함수(higher order function)는 다른 함수를 인자(argument)로 받거나 다른 함수를 리턴하는 함수이다.
이 때, 다른 함수의 인자로 전달되는 함수를 콜백 함수(callback function)라고 한다.

이후에 자바스크립트에 기본적으로 내장되어있는 고차함수들에 대해서 배웠는데, 배열 메소드에 있는 filter, map, reduce에 대해서 사용하는 방법을 배웠다.


설명은 정말 쉽게 설명되어있는데 이해하기가 정말 어려운 개념이었다.
(일급객체도 이해를 못하는 상황에 고차함수라니..)

그 이후 페어프로그래밍으로 풀었던 문제들은 위에서 배웠던 filter, map, reduce메소드의 사용방법을 익힐 수 있는 문제들이었다.
29개의 문제중에 11번까지는 혼자 푸는 문제였고 나머지 29번까지는 페어로 진행하는 문제였는데 고차함수의 개념을 정확히 이해하지 못하고 진행된 페어여서 그런지 문제를 잘 풀어낼 수 없었다.

페어분께서 친절하게 filter, map, reduce의 구동원리를 보여주시면서 각 함수를 만들면서 보여주시기 까지했는데 이해를 못해서 죄송스러운 기분이었다.

결국 오늘 풀어야되는 문제를 다 풀지 못하고 한 주를 마무리하게 되었는데 주말동안 아르바이트 시간 이후에 더 공부해서 풀어봐야 되겠다.

profile
주니어 개발자가 되고싶은

0개의 댓글