오늘로 TIL을 작성한 지 14일이 되었다.
고차함수부터 상당히 난해한 부분이 된 것 같다
아직도 이해가 잘 안된다.
봐놓고도 모른다는게 이런거같다.
내일 정규시간에 배울 것들을 미리본거지만
미리보길 잘한거같다 정규시간 내에는 절대 이해 못하고 넘어갈 것들이다
우선은 함수의 호이스팅부터 집고 넘어가자
호이스팅이란 함수가 선언된 시점부터 코드가 순서대로
읽어 내려가는 것으로 알고 있다.
쉽게 말해 선언된 함수는
코드의 가장 위로 올라가 먼저 읽히는 것이다.
이런 호이스팅은 함수 선언식과 함수 표현식에 따라
호이스팅이 되냐 안되냐로 나눌 수 있는데
함수 선언식은 변수에 할당하지 않고 바로 작성 하는 것을
함수 선언식이라고 하며 이 경우 호이스팅이 된다.
반대로 함수 표현식은 함수를 변수에 할당하여 함수의 실행 위치를 잡아주고
이때문에 호이스팅이 되지 않는 것이 특징이다.
이런 특징 때문에 함수 표현식으로 작성하는 것이
코드의 유지 보수에 용이하다는 장점을 가지게 된다.
고차함수는 이런 함수의 특성을 가진 덕분에 함수를 다른 함수나
인자로 전달할 수 있는 것에서 시작되었다.
함수의 인자로 전달된 함수는 고차함수
함수를 리턴하는 함수는 커리함수라고 하는데
사실은 둘 다 고차함수라고 한다.
고차함수의 작성법 중 하나인 콜백함수는
인자로 전달된 함수가 나중에 실행되는 특성을 이용한
비동기 처리방식 중 하나이다.
앞으로 고차함수에 대해 배워야 될 내용들이 많다
우선은 기본적으로 어떤것인지만 알고 남은 내용은
내가 좀 더 배운 다음 작성해보도록 해야겠다.