반응형

 

 

함수 - arguments 객체

함수가 실행되면 그 안에 arguments라는 특별한 지역변수가 자동으로 생성됩니다.

arguments의 타입은 객체 입니다.(console.log( typeof arguments) 로 확인해보세요!)

자바스크립트 함수는 선언한 파라미터보다 더 많은 인자를 보낼 수도 있습니다.

이때 넘어온 인자를 arguments로 배열의 형태로 하나씩 접근할 수가 있습니다.

arguments는 배열타입은 아닙니다.

따라서 배열의 메서드를 사용할 수가 없습니다.

function a() { console.log(arguments); } a(1,2,3);

자바스크립트의 가변인자를 받아서 처리하는 함수를 만들때 등에서 arguments속성을 유용하게 사용할 수가 있습니다.

응용해보기

  • arguments속성을 사용해서 , 1~무한대까지 인자를 받아 합을 구하는 함수를 만들어봅시다.
function sum() {
    var sum = 0;
    var len = arguments.length;
    for(var i=0; i<len; i++){
        sum += arguments[i];
    }
    return sum;
}

var getSum = (...arguments) => {
    var sum = 0;
    var len = arguments.length;
    for(var i=0; i<len; i++){
        sum += arguments[i];
    }
    return sum;
}

console.log(sum(1,2,3,8));
console.log(getSum(1,2,3));

 

 

 

생각해보기

  1. arrow function

ES2015에는 arrow function이 추가됐다.

arrow function 참고 바로가기

간단하게 함수를 선언할 수 있는 문법으로 처음에는 꽤 낯설수 있습니다.

하지만 점점 많이 사용되고 있는 syntax이므로 같이 알아두어도 좋을 것 같습니다.

function getName(name) {
   return "Kim " + name ;
}

//위 함수는 아래 arrow함수와 같다.
var getName = (name) => "Kim " + name;

 

 

 

 

 

 

반응형

'Programming > MERN' 카테고리의 다른 글

Vanilla JS 7) DOM  (0) 2020.12.26
Vanilla JS 6) call back function - Asynchronous  (0) 2020.12.26
Vanilla JS 3) function - hoisting  (0) 2020.12.25
Vanilla JS 2) compare - loop - string  (0) 2020.12.24
Vanilla JS 1) variable - operator - type  (0) 2020.12.24

+ Recent posts