
JavaScript: 비정형 인자 arguments
2018, Mar 20
자바스크립트에는 선언부에 명시되지 않은 파라미터를 별도로 저장하는 프로퍼티가 존재한다.
function argsTest() {
// ... 생략
arguments[2]; // 'arg3'
}
argsTest('arg1', 'arg2', 'arg3');
위의 argsTest()
호출 시 전달된 세 개의 문자열은 배열로 생성되며 arguments
프로퍼티를 통해 접근한다.
function argsTest() {
if (arguments.length < 1) {
throw new Error('usage: argsTest(url, 파라미터1, 파라미터2, ...)');
}
for (var i = 0; i < arguments.length; i++) {
if (i != 1 && typeof arguments[i] != 'string') {
alert('argsTest()의 인수는 문자열만 가능합니다.');
return;
}
}
}