CHAPTER 10 일급 함수 I

CHAPTER 10 일급 함수 I

  • 코드의 냄새: 함수 이름에 있는 암묵적 인자
    • 특징
      • 거의 똑같이 구현된 함수가 있다
      • 함수 이름이 구현에 있는 다른 부분을 가리킨다
  • 리팩터링: 암묵적 인자를 드러내기
    • 단계
      • 함수 이름에 있는 암묵적 인자를 확인한다
      • 명시적인 인자를 추가한다
      • 함수 본문에 하드 코딩된 값을 새로운 인자로 바꾼다
      • 함수를 호출하는 곳을 고친다
  • 리팩터링: 함수 본문을 콜백으로 바꾸기
    • 단계
      • 함수 본문에서 바꿀 부분의 앞부분과 뒷부분을 확인한다
      • 리팩터링 할 코드를 함수로 빼낸다
      • 빼낸 함수의 인자로 넘길 부분을 또 다른 함수로 빼낸다

리팩터링: 암묵적 인자를 드러내기

일급 값(first-class value)은 언어에 있는 다른 값처럼 쓸수 있다

일급인 것과 일급이 아닌 것을 구별하기

자바 스크립트에서 일급이 아닌것

  • 수식 연산자
  • 반복문
  • 조건문
  • try/catch 블록

객체와 배열을 너무 많이 쓰게 됩니다

데이터 지향(data orientation)은 이벤트와 엔티티에 대한 사실을 표현하기 위해 일반 데이터 구조를 사용하는 프로그래밍 형식

어떤 문법이든 일급 함수로 바꿀 수 있습니다

고차함수(higher-order function)는 함수를 인자로 받거나 함수를 반환하는 함수

이것은 무슨 문법인가요?

함수를 정의하는 방법

  • 전역으로 정의하기
  • 지역적으로 정의하기
  • 인라인으로 정의하기

    왜 본문을 함수로 감싸서 넘기나요?

    함수의 실행을 미루는 일반적인 방법

참조