Chapter1. 고차 함수
1.일급 객체(first-class citizen)의 세 가지 특징을 설명할 수 있다.

2.고차 함수(higher-order function)에 대해 설명할 수 있다.
 
3.고차 함수를 자바스크립트로 작성할 수 있다. 

Chapter2. 내장 고차 함수
4.배열 내장 고차 함수 filter, map, reduce에 대해서 이해할 수 있다.
 
5.filter, map, reduce에 대한 이해를 기반으로 나머지 고차 함수를 스스로 학습할 수 있다. (forEach, find, sort, some, every)

6.고차 함수를 쓰는 이유를 설명할 수 있다. 

7.고차 함수를 활용하여 프로그램을 작성할 수 있다.

Chapter3. 고차 함수의 중요성
8.추상화(abstraction)에 대해 설명할 수 있다.

9.추상화의 관점에서 고차 함수가 갖는 이점에 대해 설명할 수 있다.

10.고차 함수를 통해 사고 수준에서의 추상화를 달성할 수 있다.




1. 1.변수에 할당(assignment) 할 수 있다.
   2.다른 함수의 전달인자(argument)로 전달될 수 있다.
   3.다른 함수의 결과로서 리턴될 수 있다.
   
   
2. 일급 객체의 세가지 특징 중 두 가지인 다른 함수의 전달인자로 전달되거나 다른 함수의 결과로 리턴되는 함수를 고차함수라고 한다. 그렇기 때문에 모든 고차함수는 고차함수인 동시에 일급 객체다.


3. 가능하다. (코플릿 문제들을 다 고차함수로..)


4. filter는 (obj or arr).filter(함수)를 돌릴 경우 그 함수의 결과는 boolean으로 
    나와야 하며 객체 또는 배열의 키 또는 값을 처음부터 넣어주고 그 결과인 
    true or false에 따라 true인 결과값만 다시 선택해 반환하는 값이다.
  
   map은 (obj or arr).map(함수)를 돌릴 경우 그 함수의 결과를 반환받습니다.
    예를 들어 function(el){return el*2}를 할 경우 모든 값이 2배가 되는 식이다.
  
   reduce는 (obj or arr).reduce(함수(acc,cur),초기값)으로 사용하고 초기값이 
    없는 경우 arr의 0번째 인덱스(첫번째 값) 부터 차례대로 들어가 작동한다.


5.@@@@ forEach, find, sort, some, every에 대해서는 추가 학습이 필요하다.


6. 고차함수를 사용해야지만 여러가지 작동을 압축해서 사용할 수 있다.
한번 사용할 때 마다 여러가지 작은 기능의 함수들을 각자 사용하기에는 너무 많은 
함수이름 암기(변수명)와 시간이 소모된다.


7. 프로그램이라고 하기에는 거창하지만 웹페이지에 JavaScript를 사용할 때 고차함수를 사용할 수 있다면 사용할 수 있다고 할 수 있는 것이라고 생각한다.


8. 추상화란 우리가 정확하게 어떻게 동작하는지는 자세하게 알거나 설명할 수 없더라도 최종적인 기능을 이용할 수 있게 만드는 단순화 작업이라고 볼 수 있다.
우리는 밥솥이 어떤 기능으로 관리되는지는 모르지만 버튼 하나로 밥을 할 수 있고 로봇청소기가 집의 구조를 어떻게 파악하고 어떤 알고리즘으로 집을 효율적으로 청소하는지는 모르지만 시간예약으로 집을 다 청소하게 할 수 있는 것과 같다.


9. 고차함수는 여러가지 복잡한 기능들을 변수명 하나로 이해할 수 있게 압축할 수 있어서 여러가지 단일 기능들을 사용하는 것 보다 편리하며 적은 시간을 소모하고 혼동의 여지도 적다. 혼자만의 작업이 아닌 여러명이 사용하는 기능일 수록 잘 이름지어진 고차함수의 가치가 상승할 것 같다.


10. 고차함수를 통해 많은 자료들에서 특정 처리를 하는 것 등의 기능을 사용할 수 있으며 특정되지 않은 함수를 넣어서 작동하게 만드는 함수 또한 제작이 가능하다.
그리고 사실 하루종일 푼 코플릿 문제에서도 원하는 함수와 입력만 하기 때문에 추상화가 된 상태라고 볼 수 있다.


고차함수에 대한 공부 시간 제공이 너무 짧은 것 같다.
forEach, find, sort, some, every등 다른 함수?들도 주말에 복습해야겠다.
시간이 절대적으로 부족하다...

deep dive= 10p

운동 0분(자기전에 해야곘다..)

+ Recent posts