let [a, b, c] = [1, 2];
// 이 때 c는 undefined
// 그래서 기본값을 줘야 한다.
let [a=3, b=4, c=5] = [1, 2];
console.log(b); // 2
console.log(c); // 5
let[user1, , user2] = ['Mike', 'Tom', 'Jane', 'Tony'];
console.log(user1); // 'Mike'
console.log(user1); // 'Jane'
a = 2
b = 1
일 때 두 값을 바꾸고 싶다면
let a = 1;
let b = 2;
[a, b] = [b, a]
let user = {name: 'Mike', age: 30};
let {name, age} = user; // name과 age 순서가 바뀌어도 된다.
let {name: userName, age: userAge} = user; // 새로운 이름으로 할당할 수도 있다.
let user = {name: 'Mike', age: 30};
let {name, age, gender} = user; // 여기서 gender는 undefined
let {name, age, gender = 'male'} = user; // 'male'이 기본값으로 설정된다.
...
함수의 인수를 얻는 방법
1) arguments로 접근 (화살표 함수에는 없음)
2) 나머지 매개변수
function showName(...names){
console.log(names);
}
showName(); // []
showName('Mike'); // ['Mike']
showName('Mike', 'Tom'); // ['Mike', 'Tom']
주의할 점은, 나머지 매개변수는 항상 마지막에 있어야한다.
배열이나 객체에 넣고 빼고 하는 게 번거로운데 전개구문을 이용하면 편리하게 할 수 있다.
복제를 해서 작업하게 되면 기존 데이터는 영향을 미치지 않는다.
let arr = [1, 2, 3];
let arr2 = [...arr];
let user = {name: 'Mike', age: 30};
let user2 = {...user};
user2.name = "Tom";
console.log(user.name); // "Mike"
console.log(user2.name); // "Tom"