티스토리 뷰
728x90
매개변수
- 다른 언어와 달리 자바스크립트에서는 매개변수의 타입을 명시하지 않는다.
- 정의된 파라미터의 갯수보다 많거나 적더라도 오류를 내지 않는다.
- 적을경우 나머지 파라미터는 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
728x90
'개발 언어 > NodeJS' 카테고리의 다른 글
자바스크립트 - ES6문법 (0) | 2019.07.27 |
---|---|
자바스크립트 - 객체 (0) | 2019.07.27 |
자바스크립트 - 함수 유효범위 (0) | 2019.07.27 |
자바스크립트 - 변수 유효범위 (0) | 2019.07.27 |
자바스크립트 - 함수 (2) | 2019.07.06 |
댓글