[javascript] arguments 인자값의 변화

 

 

 - 함수 인자값을 함수 실행 중 변경시 변경된다.

function argumentTest(a, b) {
  console.log("a+b", a + b);
  b = 10;
  console.log(arguments);
  console.log("a+b", a + b);
}

function argumentTest2(a, b) {
  console.log(arguments);
  b = 10;
}

argumentTest(1, 2);
argumentTest(1, 10);

/**
     a+b 3
    VM854:4 Arguments(2) [1, 10, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    VM854:5 a+b 11
    VM854:2 a+b 11
    VM854:4 Arguments(2) [1, 10, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    VM854:5 a+b 11
 */
 
 
 // ------------------------------------------
 // object는 값에 변화가 없음
 
 var o = { 0: 1, 1: 2 };
console.log(o);
// VM888:2 {0: 1, 1: 2}

var a = o[0],
  b = o[1];

b = 10;
console.log(o);
// VM888:7 {0: 1, 1: 2}

 // ------------------------------------------
블로그 이미지

미나미나미

,