하루에 한 문제

default parameter (ECMAScript 2015) 본문

Dev/JavaScript

default parameter (ECMAScript 2015)

dkwjdi 2021. 4. 29. 14:35

자바스크립트는 타입이 없는 자유로운 언어이다.

그렇다면 함수의 인자로 내가 원하는 값이 안 왔을 때는 어떻게 처리할까?

ES6 이전에는 다음과 같이 썼다.

const f = function (x, y, z) {
  x = x !== undefined ? x : 3
  y = typeof x !== "undefined" ? y : 4
  console.log(x, y)
}
f(0, null)

x 가 undefined가 아니라면 그대로 x 값을 넣어준다.

만약 x가 undefined라면 x에 3을 넣어주는 코드이다.(y도 마찬가지)

 

하지만 저렇게 일일이 확인하면 귀찮을 것이다. 그래서 ES6에서는 다음과 같이 쓰면 undefined를 처리해준다.

const f = function (a = 1, b = 2, c = 3, d = 4, e = 5, f = 6) {
  console.log(a, b, c, d, e, f)
}
f(7, 0, "", false, null)
f(undefined,undefined,undefined,undefined,undefined,undefined,)

 

 

 

이런 방식을 통해서 매개변수에 들어올 값의 default값을 정해줄 수 있다!

 

출처

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters

 

Comments