[JS] 기본 매개변수 (default parameters)

Wonhyun Kwon·2023년 5월 24일
0

JavaScript

목록 보기
1/5
post-thumbnail

1. 기본 매개 변수 ?

기본 매개변수는 함수 선언 시 매개변수에 기본값을 할당하는 기능을 제공한다.

즉, 함수를 호출할 때 해당 매개변수에 값을 전달하지 않으면, 기본값이 매개변수에 할당된다.

사실 JavaScript 만 국한된 것이 아니라, 거의 대부분의 언어에서 제공하는 기능 중 하나이다.


2. 사용법

다음과 같이 원하는 소수점 자리만큼 잘라서 보여주는 함수가 있다고 하자.

export const formatBalance = (balance: string, defaultDecimal: number = 5, decimalLength: number = 5) => {
  try {
    const split = balance?.split('.');
    const integer = split[0];

    if (defaultDecimal > defaultDecimal) {
      decimalLength = defaultDecimal;
    }

    if (split.length > 1) {
      const decimal = split[1];
      return parseFloat(integer + '.' + decimal.slice(0, decimalLength));
    } else {
      return Number(integer);
    }
  } catch (e) {
    return 0;
  }
};

하지만, 파라미터 중 defaultDecimaldecimalLength 가 없는 경우가 있다고 하자.

보통 이런 함수로 사용하기 위해 억지로 초기값을 만들어서 집어넣는 경우가 있는데, 그럴 때를 대비하여 ECMAScript 2015(ES6) 버전부터 기본 매개변수 기능이 도입되었다.

즉, 해당 매개변수를 생략하거나, 또는 undefined 로 전달 될 경우, 초기값이 자동으로 사용된다.

// 매개변수가 없을 때
formatBalance(1.03) // 1.03은 balance의 파라미터 값이다.

// 매개변수가 undefined 일때
formatBalance(1.03, undefined, 10) // defaultDecimal은 undefined이므로 초기값 5로 작동한다.
profile
모든 사용자가 만족하는 UI를 만드는 FE 개발자 권원현입니다.

0개의 댓글