나머지 매개변수와 전개 문법

Vorhandenheit ·2021년 7월 20일
0

JS.코어

목록 보기
11/29
post-custom-banner

나머지 매개변수와 전개 문법

1.나머지 매개변수 ...

  • ...는 나머지 매개변수들을 한데 모아 배열에 집어넣어라 를 의미
function sumAll(...args) {
	let sum = 0;
	for (let arg of args) {
    	sum += arg;
    }
  return sum
}
sumAll(1) // 1
sumAll(1, 2) // 3
sumALL(1, 2, 3) // 6
  • 매개변수는 변수로, 그 이외에 매개변수들은 배열로 모을 수 있음
function showName(firstName, lastName, ...titles) {

//titles = ["Consul", "Imperator"]
alert(titles[0]) //  Consul
alert(titles[1]) //  Imperator
alert(titles.length) // 2
}

나머지 매개변수는 항상 마지막에 있어야함!

function f(arg1, ...rest, arg2) {
} //이렇게 사용한다면 에러발생!

2.'arguments'변수

  • 특별한 유사 배열 객체
  • 인덱스를 사용해 모든 인수에 접근할 수 있음
  • 이터러블(반복가능한) 객체임, 하지만 배열은 아님 그래서 배열 메서드는 사용불가

3.spread 문법

let arr = [3, 5, 1]
alert(Math.max(arr)); // NaN

Math.max는 배열이 아닌 숫자 목록을 인수로 받기 때문에 작동하지않음, 이런 상황에서 배열을 인수로 바꿀 수 있는 문법임

let arr = [3, 5, 1]
let arr2 = [8, 9, 15]
let merges = [0, ...arr, ...arr2];
alert(merges); // 0, 3, 5, 1, 8, 9, 15;  합쳐짐

배열이 아니더라도 이터러블(순회가능한) 객체이면 spread문법 사용가능!

let str = 'Hello';
alert([...str]); // H, e, l, l , o;

Array.from : 문자열 같은 이터러블 객체를 배열로 바꿔줌

profile
읽고 기록하고 고민하고 사용하고 개발하자!
post-custom-banner

0개의 댓글