구조분해할당 : de(not)+ structure(구조) + ing
배열의 경우
let [value1, value2] = [1, "new"];
console.log(value1) = 1
let arr = ["value1","value2","value3"]
let [a,b,c]=arr;
console.log(a)=value1
console.log(b)=value2
console.log(c)=value3
let arr = ["value1","value2","value3"]
let [a,b,c,d]=arr;
console.log(a)=value1
console.log(b)=value2
console.log(c)=value3
console.log(d)=undefined
let arr = ["value1","value2","value3"]
let [a,b,c,d=4]=arr;
console.log(a)=value1
console.log(b)=value2
console.log(c)=value3
console.log(d)=4
d의 값이 초기값으로 나온다.
let arr = ["value1","value2","value3","value4"]
let [a,b,c,d=4]=arr;
console.log(a)=value1
console.log(b)=value2
console.log(c)=value3
console.log(d)=value4
d의 값이 초기값이 아닌 할당된 값으로 나온다.
객체의 경우
let {name, age} = {
name : 'abc',
age : 30,
};
console.log(name)=abc
console.log(age)=30
let name과 age에 값이 할당된다.
객체의 경우 2
let user = {
name:"abc",
age: 30,
}
let {
name: newName,
age : newAge,
} = user
console.log(newName)=abc
console.log(newAge)=30
console.log(name)=undefined
let user의 객체에 대한 키값을 newName,newAge 로 할당했기 때문에 각각의 값은 abc, 30이지만 name은 undefined다.
let user = {
name:"abc",
age: 30,
}
let {name, age, birtday="today"}=user
console.log(name) = abc
console.log(age) = 30
console.log(birtday) = today
배열과 마찬가지로 초기값이 나온다. 그리고 배열과 마찬가지로 let user에 britday의 키와 값이 설정되면 그 값이 나온다.
'JavaScriprt-문법' 카테고리의 다른 글
JavaScript 문법 종합반 문법- 일급 객체로서의 함수 (0) | 2023.05.23 |
---|---|
JavaScript 문법 종합반 문법-단축 속성명 (0) | 2023.05.23 |
JavaScript 문법 종합반 문법-for / while (0) | 2023.05.23 |
JavaScript 문법 종합반 문법-배열(2) (0) | 2023.05.22 |
JavaScript 문법 종합반 문법-배열(1) (0) | 2023.05.22 |