본문 바로가기

Today I learned/JavaScript

[JavaScript] 옵션 객체 초기화

(ref: https://www.crocus.co.kr/994)

 

자바스크립트 옵션 객체 초기화 방법

자바스크립트 개발 환경은 Microsoft Visual Studio 2015 버전 HTML 기능 및 Chrome을 이용하고 있습니다. 자바스크립트도 C++ / Java 처럼 객체 생성과 동시에 초기화를 할 수 있는 방법이 있다. 이전 C++ / Java..

www.crocus.co.kr

•생성자에서 바로 변수 초기화

: ||를 이용하여 undefined가 될 때 || 연산을 통해 다음 값을 넣어주는 방식

 

function sum(x, y) {
  // 매개변수의 값이 falsy value인 경우, 기본값을 할당한다.
  x = x || 0;
  y = y || 0;

  return x + y;
}

console.log(sum(1));    // 1
console.log(sum(1, 2)); // 3

(ref: https://poiemaweb.com/es6-extended-parameter-handling)

 

Extended Parameter Handling | PoiemaWeb

Rest 파라미터는 Spread 문법(...)을 사용하여 매개변수를 작성한 형태를 말한다. Rest 파라미터를 사용하면 인수를 함수 내부에서 배열로 전달받을 수 있다.

poiemaweb.com

•(ES6) 매개변수 기본값을 사용하여 함수 내에서 수행하던 인수 체크 및 초기화를 간소화 가능

- 매개변수 기본값은 매개변수에 인수를 전달하지 않았을 경우에만 유효

function sum(x = 0, y = 0) {
  return x + y;
}

console.log(sum(1));    // 1
console.log(sum(1, 2)); // 3

- 매개변수 기본값은 함수 정의 시 선언한 매개변수 개수를 나타내는 함수 객체의 length 프로퍼티와 arguments 객체에 영향을 주지 않는다.

function foo(x, y = 0) {
  console.log(arguments);
}

console.log(foo.length); // 1

sum(1);    // Arguments { '0': 1 }
sum(1, 2); // Arguments { '0': 1, '1': 2 }