Skip to content

Commit

Permalink
챕터11 정대윤
Browse files Browse the repository at this point in the history
  • Loading branch information
sensecodevalue committed May 14, 2024
1 parent 9ac8717 commit c54abdb
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions 챕터_11/정대윤.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## 함수 본문을 콜백으로 바꾸기

1. 본문과 본문의 앞,뒤를 구분
2. 전체를 함수로 빼기
3. 본문을 빼낸 함수의 인자로 전달한 함수로 변경

함수 내부에서 달라지느느 부분이 있다면 본문이 될 수 있음.

## 함수를 리턴하는 함수 (고차함수)

- 어떤 부분에 함수적용을 깜빡할 수 있음.
- 모든 코드에 수동으로 함수를 적용해야됨.
=> 함수를 자동으로 만들어 줄 수 있으면 좋겠다.
=> **정형화된 코드를 함수로 만들어줌** = **일반화된** => **패턴이나 원칙을 코드로 만들 수 있음**
고차함수 행동을 새로운 함수로 감싸 실행을 미룰 수 있도록한다.
> 함수를 리턴하는 함수팩토리 같은 느낌 (캡슐화?)
```js
function wrapLog(f) {
return (arg) => {
try {
f(arg);
} catch (e) {
log(e);
}
};
}
```

## 고차함수 장단

- 장 : 정형화된 일반화된 함수들로 중복을 줄일 수 있음.
- 단 : 일반화된 코드는 직관이 떨어져 보임 => 가독성이 떨어 질 수 있음

따라서 아래 내용을 고려해볼 것

- 코드가 더읽기 쉬운지
- 얼마나 많은 중복을 없애는지
- 코드가 무엇을하는지 문맥파악이 쉬운지

0 comments on commit c54abdb

Please sign in to comment.