일급 객체의 특징은 다음과 같다.
모던 자바스크립트 딥다이브에서 읽었던 내용이라 조금은 기억이 난다.
마지막 특징을 보니 클로저와도 비슷한 거 같다.
정작 고차함수라는 게 있다는 거만 알고 무지성으로 map이나 filter 메소드를 써 왔던 거 같은데 이번에 정리를 좀 해야겠다.
고차함수도 일급 객체와 거의 비슷하다. 함수를 리턴할수도 있고 함수를 전달인자로서 전달받을 수도 있다.
map,filter 같은 경우에는 많이 써봐서 그렇게 어렵지는 않았지만 reduce는 거의 써본 적이 사실 없어서 바로 이해하기에는 시간이 좀 걸렸다.
사실 [1,2,3,4,5]
같은 배열을 이용해서 합을 구해라! 이러면 1분도 안되서 구현할 수 있긴 하지만 여러 자료 구조가 복잡하게 얽혀있을 때는 생각을 더 해야할 것 같다.
게다가 reduce만 이용해서 풀 수 있는 것도 아닐테고...
그리고 빈 배열로 reduce를 돌리고자 할 때 초기값을 안 넣어주면
TypeError: Reduce of empty array with no initial value
이런식으로 오류가 난다는 것도 이번에 알게 되었다. 초기값 설정을 하는 버릇을 좀 들여야겠다.
오늘은 32문제나 되서 과연 시간 내에 끝낼 수 있을 까 싶었는데 내가 페어분한테도 설명해주고 페어분이 도움도 주시고 해서 끝나기 3분전에 문제를 다 풀 수 있었다... 정신없는 하루였어..