티스토리 뷰

매개변수

  • 다른 언어와 달리 자바스크립트에서는 매개변수의 타입을 명시하지 않는다.
  • 정의된 파라미터의 갯수보다 많거나 적더라도 오류를 내지 않는다.
    • 적을경우 나머지 파라미터는 undefined처리함.
    • 많을경우 나머지 파라미터는 무시 또는 arguments로 접근 가능함.
function parameterFunction(first, second) {
    console.log('first :: ', first);
    console.log('second :: ', second);

    return first + second;
}

// first ::  1
// second ::  undefined
// result1 ::  NaN
var result1 = parameterFunction(1);
console.log('result1 :: ', result1);

// first ::  1
// second ::  2
// result2 ::  3
var result2 = parameterFunction(1, 2);
console.log('result2 :: ', result2);

arguments 객체

  • 정의된 매개변수보다 많은 인수를 입력할 경우 arguments객체를 통해 접근 가능하다.
  • arguments객체는 전달된 인수를 배열로 가지고있는다.
function argumentsFunction() {
    for (var i = 0; i < arguments.length; i++) {
        console.log('arguments[i] :: ', arguments[i]);
    }
}

argumentsFunction(); // no print
argumentsFunction(1); // print 1
argumentsFunction(1, 2); // print 1, 2
argumentsFunction(1, 2, 3); // print 1, 2, 3
  • 가변으로 입력될수 있는 모든 숫자를 더하는 함수.
function flexibleSumFunction() {
    var result = 0;
    for (var i = 0; i < arguments.length; i++) {
        result += arguments[i];
    }

    return result;
}

console.log(flexibleSumFunction(1, 2)); // 3
console.log(flexibleSumFunction(1, 2, 3)); // 6
console.log(flexibleSumFunction(1, 2, 3, 4)); // 10

'개발 언어 > NodeJS' 카테고리의 다른 글

자바스크립트 - ES6문법  (0) 2019.07.27
자바스크립트 - 객체  (0) 2019.07.27
자바스크립트 - 함수 유효범위  (0) 2019.07.27
자바스크립트 - 변수 유효범위  (0) 2019.07.27
자바스크립트 - 함수  (2) 2019.07.06
댓글