let str = 'hello';
let num = 100;
let arr = [1, 2, 3];
let arr = [1, 2, 3];
function arrMax(arg){
return Math.max(...arg);
};
console.log(arrSum(arr)); //3
let arr = [1, 2, 3];
let arrSpr = ...arr; //사용 불가
let arr1 = [1, 2, 3];
let arr2 = [4, 5, [6, 7]];
let arrMerg = [...arr1, ...arr2];
console.log(arrMerg); //[ 1, 2, 3, 4, 5, [ 6, 7 ] ]
//arrMerg의 원시 타입을 수정했을 경우
arrMerg[0] = 10;
console.log(arr1); //[ 1, 2, 3 ] 원본 배열은 그대로
//arrMerg의 참조 타입을 수정했을 경우
arrMerg[5][0] = 10;
console.log(arr2); //[ 4, 5, [ 10, 7 ] ] 원본 배열 변동
console.log(arr2[2] === arrMerg[5]); //true 같은 메모리 주소를 참조한다
출처
https://aerocode.net/378?category=740143
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax
이웅모, 모던 자바스크립트 Deep Dive(2021)