...
는 나머지 매개변수들을 한데 모아 배열에 집어넣어라 를 의미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) {
} //이렇게 사용한다면 에러발생!
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; 합쳐짐
let str = 'Hello';
alert([...str]); // H, e, l, l , o;
Array.from : 문자열 같은 이터러블 객체를 배열로 바꿔줌