본문 바로가기
JS

221228 JS 함수의 가변인자

함수의  가변 인자 argument

자바스크립트에서 매개변수는 큰 의미가 없다. 지키지 않아도 됨



method(1,2,3,4,5,6,7);

function method(a,b){
       return a+b;
}


이 코드는 에러를 발생시키지 않는다. 반환값은 3이다.
같은 코드에서 호출시 매개변수를 하나만 넣으면NaN이 나온다. 에러가 아님.


->배열선언시 Array()의 ()안에 매개변수를 넣지 않거나 1개 넣거나 2개 이상 넣거나 해도 동작하는게 이 원리임


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function func1(x,y){
            //arguments키워드를 이용해서 매개변수를 찾아서 사용할 수 있습니다.
            console.log(arguments);
            console.log(typeof arguments);//타입은 object인데, 배열처럼 생각하면 됨
            console.log('매개변수의길이:'+arguments.length);
            console.log(arguments[0]);
            console.log(arguments[1]);
            console.log(arguments[2]);
            console.log(arguments[3]);
            
            return x+y;
        }
        
        //매개변수 자체는 큰 의미가 없습니다. 단순히, 사용할 값에 이름을 붙이는 형태
        console.log(func1(1));
        console.log(func1(1,2));
        console.log(func1(1,2,3,4,5));


    </script>
</body>
</html>

argument키워드를 이용해서 매개변수를 찾아 사용할 수 있음

타입은 object인데, 배열처럼 생각하면 됨.

 

'JS' 카테고리의 다른 글

221228 JS 클로저  (0) 2022.12.28
221228 JS 전역변수 지역변수  (0) 2022.12.28
221228 JS 함수-익명함수, 즉시실행함수  (0) 2022.12.28
221228 JS 함수-선언적 함수, 호이스팅  (0) 2022.12.28
221228 JS 탈출문  (0) 2022.12.28