← Back to NOTES 🌰 ← Effective JavaScript 🤿

← 아이템 54 - undefined를 '값이 없는' 것처럼 처리하라

핵심 요약

자세한 내용

문제점: 인자가 많아지는 함수

시간이 흐르면서 라이브러리 기능이 확장됨에 따라 함수 시그니처가 더욱 많은 인자를 필요하게 되는 경우가 있다. 이런 경우 코드의 가독성이 크게 떨어진다.

옵션 객체의 장점

  1. 가독성 향상: 읽기 더 쉽고, 각 인자가 스스로 문서화됨
  2. 자체 문서화: 각 인자의 역할을 설명하기 위한 코멘트가 필요 없음. 프로퍼티 이름이 스스로를 설명함
  3. 불리언 파라미터에 유용: true vs modal: true처럼 명확한 의미 전달
  4. 선택적 인자 지원: 어떤 인자도 부가적으로 적용 가능하고, 호출자는 부분 집합만 제공 가능
  5. 객체 전체 생략 가능: 모든 디폴트 값을 사용하려면 객체 전체를 생략 가능

필수 인자와 옵션 객체 분리

한두 개의 필수 인자가 필요하다면, 이들을 옵션 객체와 분리하여 유지하는 편이 더 좋다.