배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 해주는 표현식
let str = "Kim-Lee-Park";
let [user1, user2, user3] = str.split("-");
console.log(user1); // "Kim"
console.log(user2); // "Lee"
console.log(user3); // "Park"
let a = 1;
let b = 2;
[a,b] = [b,a] // 바꿔치기
console.log(a); // 2
console.log(b); // 1
let user = {name : "Kim", age : 30};
let {name : userName , age : userAge} = user;
console.log(userName); // "Kim"
console.log(userAge); // 30
매개변수의 제일 마지막에 위치하며, 갯수 상관없이 매개변수를 받는다.
function showName(...name){
console.log(name);
}
showName() // []
showName("Kim") // ["Kim"]
showName("Kim","Park") // ["Kim", "Park"]
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let result = [...arr1, ...arr2];
console.log(result);
let user1 = {name : "Kim", age : 30};
let user2 = {...user1}; // user1 복제
user2.name = 'Lee";
console.log(user1.name); // "Kim", user2.name을 바꿔도 user1.name은 바뀌지 않음
console.log(user2.name); // "Lee"