AS 2 | JS - 고차 함수

Yonghyun·2021년 8월 11일
0

AdditionalStudy

목록 보기
2/12
post-thumbnail

고차 함수

함수를 호출할 때마다 반환 함수를 생성하는 함수를 고차 함수(high order function)라고 한다.

const func = () => {
  return () => {
    console.log('abcd');
  };
};

여기서 반환된 함수는 다른 변수에 저장할 수 있고, 그 변수에 저장된 함수를 다시 호출할 수 있다.

const innerFunc = func();
innerFunc(); // abcd

반환하는 값을 바꾸고 싶을 때는 매개변수를 사용한다.

const func = (change) => {
  return () => {
    console.log(change);
  };
};

화살표 함수 문법에 따라서 함수의 본문에서 바로 반환되는 값이 있으면 {와 return을 생략할 수 있기 떄문에

const func = (change) => () => {
  console.log(change);
};

이건 마치 마트료시카...🪆

if문 중첩 제거하기✂️

if 문을 중첩하여 사용하게 되면 코드를 파악하기 어렵다. 이때 다음과 같은 방법을 이용해서 if 문의 중첩을 제거한다.
1. 공통된 절차를 각 분기점 내부에 넣는다.
2. 분기점에서 짧은 절차부터 실행하도록 if 문을 작성한다.
3. 짧은 절차가 끝나면 return(함수 내부의 경우)이나 break(for 문 내부의 경우)로 중단한다.
4. else를 제거한다.(여기서 중첩 하나가 제거된다.)
5. 다음 중첩된 분기점이 나올 때 1~4의 과정을 반복한다.


AS 2 day
아직 처음부터 바로 효율적이고 보기좋은 코드를 작성하는건 쉽지 않지만
그렇다고 원하는 결과값을 얻는것에서 그치지말고
완성한 코드에서 필요하지않은 부분들, 효율을 높일 수 있는 방법들을 생각해보도록하자

profile
Life is all about timing.

0개의 댓글