Study/JavaScript(Clean code)

[JavaScript][clean-code] default Value / default parameter

갈푸라떼 2022. 6. 12. 00:35

* Default Value / Default parameter

- 기본값 설정  

 

* 기본값 예시 코드

function createCarousel(options) {
  options = options || {};
  const margin = options.margin || 0;
  const center = options.center || false;
  const navElement = options.navElement || 'div';

  // ...some code
  return {
    margin,
    center,
    navElement,
  };
}

createCarousel();
  • 기본값 설정이 되어 있어서 인자가 들어오지 않을경우 기본값으로 할당이 된다.

* 기본값 다른 예시

function createCarousel({ margin = 0, center = false, navElement = 'div' } = {}) {
  // ...some code
  return {
    margin,
    center,
    navElement,
  };
}

console.log(createCarousel());
  • 지역변수처럼 활용되었던 부분들이 인자로 들어가게 되었다.
  • 인자로 객체를 받고 객체안에서 default value들이 할당되고있다.
  • undefined일때 값들이 할당된다.
  • = {}는 options = options || {}; 와 같은 코드이다.(인자가 없을때, 즉 undefined일때 객체가 할당이 된다.)

* 기본값중 하나라도 빼먹었을때 사용자에게 error을 뿌려주는 코드 예시

const required = (argName) => {
  throw new Error('required is ' + argName);
};

function createCarousel({
  items = required('items');
  margin = required('margin'),
  center = false,
  navElement = 'div',
} = {}) {
  // ...some code

  return {
    margin,
    center,
    navElement,
  };
}