오랜만에 TIL 이다. 어제 찝찝함에 대해 적고 나서 내가 뭘 더 해야겠다는게 느꼈고, 내가 그 찝찝함을 만들었다는 생각이 들어서 더 열심히 공부하기로 했다 .
최근에 solo week동안 복습을 했다. 공부량이 적고, 새로운 개념이라기 보다는 조금 부족했다고 느껴졌던 부분을 복습해서 TIL을 쓰기 않았다. 근데 오늘부터 복습한것도 TIL에 적을려고 한다.
이 챕터를 공부하면서, 코드 스테이츠가 권장하는 goal을 적어봤다.
1. 함수를 변수에 할당할 수 있다(=함수 표현식).
ex) let func = function(){ console.log('it works'); }
2. 다른 함수의 인자로 사용되어질 수 있다.(= 콜백함수)
ex) function double(num) { return num * 2; } function doubleNum(func, num) { let doubledArr = []; return func(num); } let output = doubleNum(double, 4); console.log(output); // -> 8
3. 다른 함수의 결과로서 리턴 되어질 수 있다.(=커리함수)
ex) function adder(added) { return function (num) { return num + added; }; } let output = adder(5)(3); // -> 8 console.log(output); // -> 8 const add3 = adder(3); output = add3(2); console.log(output); // -> 5
: 고차함수란 다른 함수를 인자로 받거나, 다른 함수를 리턴하는것을 말한다. 여기서 인자로 받게되면, 우리는 이것을 콜백함수라고 한다. 이 함수는 어떤 작업이 완료되었을때, 호출되는 경우가 많아서 답신하는 전화를 뜻하는 콜백이라는 이름을 가지게 되었다고 한다.
한편, 함수만 리턴하는것은 '커리함수'라고 한다.
: 컴퓨터 공학에서 추상화란, 요약이다.
즉, 어떤 복잡한것을 압축해서 핵심만 추출한 상태로 만드는것이 추상화이다.
(abstract라는 용어는 추출하다라는 뜻도 가지고 있다. 왜 추상화라고 부르는지는 모르겠지만, 결국 핵심만 추출하는작업이라고 생각하면 될것같다.)