๐ก Destructuring Assignment (๊ตฌ์กฐ ๋ถํด ํ ๋น)
๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋ ๋ง ์๋ฏธ ๊ทธ๋๋ก ๊ฐ์ฒด, ๋ฐฐ์ด์ ๊ตฌ์กฐ๋ฅผ ๋ถํดํ์ฌ ๋ถํดํ ๊ฐ์ ๋ณ์์ ํ ๋นํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
(๊ตฌ์กฐ ๋ถํด ํ ๋น ๊ตฌ๋ฌธ์ ๋ฐฐ์ด์ ๊ฐ์ด๋ ๊ฐ์ฒด์ ์์ฑ์ ๋ณ๊ฐ์ ๋ณ์๋ก ์ถ์ถํ ์ ์๊ฒํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์)
๐ก ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น
let arr = ["dong","hwi"];
// ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด
let [firstName, surname] = arr;
console.log(firstName);
console.log(surname);
// ๋ฐฐ์ด์ผ๋ก ์ ๊ทผํ์ง ์๊ณ ๋ณ์๋ก ์ฌ์ฉ ํ ์ ์๊ฒ ๋๋ค.
split(' ') ํจ์๋ฅผ ํ์ฉ ํ ์๋ ์๋ค.
let [firstname, surname] = "kim dong".split(' ');
* ๊ตฌ์กฐ ๋ถํด ํ ๋น์ ํ๋ค๊ณ ํด์ ๊ธฐ์กด์ arr๋ ๋ฐ๋์ง ์๋๋ค.
1. ์ผํ๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ ๋ฌด์ํ ์ ์๋ค.
// ๋ ๋ฒ์งธ ์์๋ ํ์ํ์ง ์์
let [firstName, , title] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
alert( title ); // Consul
2. ํ ๋น ์ฐ์ฐ์ ์ข์ธก์ ๋ญ๋ ์ง ์ฌ ์ ์๋ค.
ํ ๋น ์ฐ์ฐ์ ์ข์ธก์ ํ ๋น ํ ์ ์๋ ๊ฒ์ด๋ผ๋ฉด ์ด๋ค ๊ฒ์ด๋ ์ง ์ฌ์ ์๋ค.(๊ฐ์ฒด ํ๋กํผํฐ๋ ๊ฐ๋ฅ)
let user = {};
[user.name, user.surname] = "kim hwi".split(' ');
console.log(user.name);
3. entries()๋ก ๋ฐ๋ณตํ ์ ์๋ค.
let user = {
name : 'john',
age:30
};
for(let[key, value] of Object.entries(user)){
console.log(`${key} : ${value}`);
}
4.'...'๋ก ๋๋จธ์ง ์์ ๋ฐฐ์ด๋ก๊ฐ์ ธ์ค๊ธฐ
let [name1, name2, ...rest] = ['a','b','c','d','e'];
console.log(name1);
console.log(name2);
console.log(rest[0]); // c
console.log(rest[1]); // d
rest๋ง๊ณ ๋ค๋ฅธ ๋ณ์๋ช ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ๋ณ์๋ช ์์ . ์ธ๊ฐ๋ฅผ ๊ผญ ์ง์ผ์ค์ผํ๋ค.
๐ก ๊ฐ์ฒด ๊ตฌ์กฐ ๋ถํด ํ ๋น
let options = {
title: "menus",
width:100,
height:200
};
let {title, width, height} = options;
console.log(title);
console.log(width);
console.log(height);
์ฐธ๊ณ
ko.javascript.info/destructuring-assignment
'JavaScript > ๊ฐ๋ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ๋ฐ์ดํฐ ํ์ ๊ณผ ๋ณ์ (0) | 2021.01.12 |
---|---|
[ES6] Object ๊ฐ์ฒด (0) | 2021.01.11 |
[ES6] ํธ์ด์คํ ๊ณผ var , let , const ๋น๊ต +์์ ๋ ์ถ๊ฐํ๊ธฐ (0) | 2021.01.07 |