순수함수
1. 최대한 지역변수만을 사용해 구현하기
2. 인수로 넘기는 값의 본체까지 수정하지 않기.
3. 매개변수로 넘기는 값이 객체라면 원본 객체에 변이를 일으키지 않기. ( 깊게 복사후 변이 하는 방법이 있다. )
2022.06.30 - [JS] - 올바르게 객체 복사하기
고차함수
고차함수는 함수가 다른 함수를 매개변수로 받아 로직을 생성하는 함수를 말한다.
* 함수를 값 자체로 다른 함수에 넘길 수 있는 일급 객체여야만 가능하다.
일급 객체 조건
- 변수나 메서드에 함수를 할당할 수 있어야 합니다.
- 함수 안에 함수를 매개변수로 담을 수 있어야 합니다.
- 함수가 함수를 반환할 수 있어야 합니다.
- map
map이나 filter 등으로 어떤 값 [a]를 받아 새로운 값 [b]를 반환하는 것을 모나드함수라고 합니다.
- call함수
const call = (a,b) => a() + b()
이런식으로 매개변수를 받아 함수의 실행시점을 자유자재로 놓을 수 있습니다.
- 함수를 반환하는 함수
function SayHelloFunction(name){
return function(){
alert("Hello " + name + "!");
};
}
SayHelloFunction("영프로")(); // Hello 영프로!
1. 변수를 보호 할 수 있다.
2. 한번에 여러 변수를 선언하고 활용할 수 있다.
속편으로 커링과 함수합성, 모나드, 클로저 를 기술해 보겠습니다.
'JS' 카테고리의 다른 글
함수 표현식과 선언식 (0) | 2022.07.15 |
---|---|
IIFE (0) | 2022.07.13 |
Lazy Loading (0) | 2022.07.03 |
올바르게 객체 복사하기 (2) | 2022.06.30 |
이터러블 이터레이터 제너레이터 (1) | 2022.05.22 |