[JS] 함수의 인수에 접근하는 방법 - 나머지 arguments, 매개변수

JG HAN·2022년 8월 3일
0

JS

목록 보기
1/8

함수의 인수에 접근하는 방법

함수의 인수에 접근하는 방법은 1) arguments 와 2)나머지 매개변수 가 있다.

arguments

  • 함수로 넘어온 모든 인수에 접근
  • 함수내에서 이용 가능한 지역변수
  • length / index 사용가능
  • Array 형태의 객체
  • 배열의 내장 매서드 없음(forEach, map)
function showName(name){
  console.log(arguments.length);
  console.log(arguments[0]);
  console.log(arguments[1]);
}

showName('tom', 'mike');
//2
//tom
//mike

나머지 매개변수

  • 정해지지 않은 개수의 인수를 배열로 나타내게 할 수 있다.
  • es6에서 더 권장한다고 함
  • arguments와 다르게 배열의 메소드(forEach 등)을 사용할 수 있다.
function showName(...names){
  console.log(names);
}

showName();
showName('tom');
showName('tom', 'mike');

//[]
//["tom"]
//(2) ["tom", "mike"]
function add(...numbers){
  let result = 0;
  numbers.forEach((num)=> (result += num));
  console.log(result);
}

add(1,2,3);

//6
  • 나머지 매개변수는 항상 맨 뒤에 있어야한다.
function User(name, age, ...skills){
  this.name = name;
  this.age = age;
  this.skills = skills;
} 

const user1 = new User('Mike', 30, 'html', 'css');
const user2 = new User('Tom', 20, 'JS', 'React');
const user3 = new User('Jane', 10, 'English');

console.log(user1);
console.log(user2);
console.log(user3);


//User {name: "Mike", age: 30, skills: Arra...}
//User {name: "Tom", age: 20, skills: Array...}
//User {name: "Jane", age: 10, skills: Arra...}

0개의 댓글