스프레드 문법의 결과물은 값으로 사용할 수 없고, 쉼표로 구분한 값의 목록을 사용하는 문맥에서만 사용할 수 있다
const arr = [1,2,3]
const max = Math.max(arr)//NaN
//Math.max 메서드는 여러개의 숫자를 인수로 전달받아 인수 중에 최대값을 반환하기에, 배열을 인수로 전달하면 NaN을 반환한다.
const max = Math.max(...arr) //옳은 방법
//1. concat
2개의 배열을 1개로 결합하고 싶은 경우
ES5 방법
var arr = [1,2].concat([3,4])
ES6 방법
const arr = [...[1,2],...[3,4]]
//2. splice
ES5 방법
var arr1 = [1,4]
var arr2 = [2,3]
arr1.splice(1,0,arr2) //[1,[2,3],4]
ES6 방법
arr1.splice(1,0,...arr2) //[1,2,3,4]
…
//객체 복사
const user = { name: 'Min', age: 26 };
const newUser = { ...user };
console.log(newUser);
// { name: 'Min', age: 26 }
//객체 병합
//여러 객체를 합칠 때 순서가 중요함. 뒤에 오는 속성이 앞의 같은 키를 덮어씀.
const base = { name: 'Min', age: 26 };
const extra = { job: 'Frontend Developer', country: 'Korea' };
const profile = { ...base, ...extra };
console.log(profile);
// { name: 'Min', age: 26, job: 'Frontend Developer', country: 'Korea' }