가변인자함수
가변 인자 함수는 매개변수의 개수가 변할 수 있는 함수입니다. 자바스크립트는 매개변수의 개수를 정의된 것과 다르게 사용해도 괜찮지만, 여기서 말하는 가변 인자 함수는 매개변수를 선언된 형태와 다르게 사용했을 때, 매개변수를 모두 활용하는 함수를 뜻합니다.
:: 이전에 봤던 Array()함수가 가변 인자 함수의 예입니다. Array함수 바로가기
sumAll()함수 형태 ( 매개변수로 입력된 숫자를 모두 더하는 함수 )
function sumAll() {
}
sumAll()함수 예
function sumAll() {
alert(typeof(arguments) + ' : ' + arguments.length);
}
sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9); // object : 9
arguments변수는 자바스크립트의 모든 함수 내부에 기본적으로 존재합니다.
:: arguments는 매개변수의 배열입니다.
배열은 객체 자료형이기 때문에 Object를 출력하고, 함수를 호출할 때 9개의 매개변수를 입력했기 때문에 arguments.length의 길이는 9를 출력합니다.
sumAll() 함수 예 ( arguments객체를 사용한 가변 인자 함수 )
function sumAll() {
var output = 0;
for(var i = 0; i < arguments.length; i++) {
output += arguments[i];
}
return output;
}
alert(sumAll(1, 2, 3, 4, 5, 6, 7, 8, 9)); // 45
리턴 값
return키워드는 함수가 실행되는 도중에 함수를 호출한 곳으로 돌아가라는 의미입니다. 따라서 return키워드를 사용하면 값을 지정하지 않아도 함수를 호출한 곳으로 돌아갑니다.
return 키워드 예
function returnFunc() {
alert('A'); // 실행됨
return
alert('B'); // 실행되지 않음
}
returnFunc();
return키워드를 alert('B')이전에 사용했기 때문에 실행되지 않고 함수가 종료됩니다. 따라서 A만 출력되는 것을 확인할 수 있습니다.
만약 아무 값도 받지않고 리턴하면 아무값도 들어있지 않기 때문에 아래처럼 'undefined'를 출력하게 됩니다.
아무값도 받지 않고 return했을 때 예
function returnFunc() {
return
alert('A'); // 실행됨
alert('B'); // 실행되지 않음
}
var returnTest = returnFunc();
console.log(typeof(returnTest) + ' : ' + returnTest); // undefined : undefined
위처럼 아무값도 없기 때문에 undefined를 출력합니다.
'JavaScript | TypeScript > Javascript 시작하기' 카테고리의 다른 글
[ Javascript ] 콜백 함수 (0) | 2022.06.03 |
---|---|
[ Javascript ] 내부 함수 (0) | 2022.06.03 |
[ Javascript ] 매개변수와 리턴 값, Array()함수 (0) | 2022.06.02 |
[ Javascript ] 함수, 익명함수, 선언적 함수 (0) | 2022.06.02 |
[ Javascript ] for of 반복문 (0) | 2022.05.31 |