๋ฐฐ์ด์ ๋น๊ตฌ์กฐํ ํ ๋น
๋ฐฐ์ด์์ ๋น๊ตฌ์กฐํ ํ ๋น์ ์ฌ์ฉํ๋ค๋ฉด, ๋ฐฐ์ด ์์ ์๋ ๊ฐ์ ์ถ์ถํด์ ๋ณ์ / ์์๋ก ๋ฐ๋ก ์ ์ธ์ด ๊ฐ๋ฅํ๋ค.
๋ฐฐ์ด ์์ ์๋ ์์๋ฅผ ์๋ก ์ ์ธํด์ฃผ๊ณ ์ถ์ ๋ ๊ต์ฅํ ์ ์ฉํ ๋ฌธ๋ฒ์ด๋ค.
# Case 1: ๊ธฐ์กด ํ ๋น ๋ฐฉ๋ฒ
let colors = ["red", "green", "blue"];
let color0 = colors[0];
let color1 = colors[1];
let color2 = colors[2];
console.log(color0, color1, color2); // red green blue
# Case 2: ๋น๊ตฌ์กฐํ ํ ๋น
let [color1, color2, color3] = ["red", "green", "blue"];
console.log(color0, color1, color2); // red green blue
Case 1๊ณผ 2 ๋ชจ๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด์ง๋ง ๋ ๋ฒ์งธ ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๋จํ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๊ดํธ๋ฅผ ์ด์ฉํด์ ๋ฐฐ์ด์ ๊ฐ์ ์์๋๋ก ํ ๋น๋ฐ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ๊ฒ์ ๋ฐฐ์ด์ ๋น๊ตฌ์กฐํ ํ ๋น์ด๋ผ๊ณ ํ๋ค.
๋ง์ฝ ํ ๋นํ ๋ณ์์ ๊ฐ์๊ฐ ๊ฐ๋ณด๋ค ์ ๋ค๋ฉด ํ ๋น๋์ง ๋ชปํ ๋ณ์์๋ ๋น์ฐํ๊ฒ๋ undefined๊ฐ ํ ๋น๋๋ค.
let [color0, color2, color3, color4] = ["red", "green","blue"];
console.log(color0, color2, color3, color4); // red green blue undefined
์ด๋ฅผ ๋ง๊ธฐ ์ํด ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์๋ค.
let [color0, color2, color3, color4 = "yellow"] = ["red", "green","blue"];
console.log(color0, color2, color3, color4); // red green blue yellow
๊ฐ์ฒด์ ๋น๊ตฌ์กฐํ ํ ๋น
๊ฐ์ฒด์์ ๋น๊ตฌ์กฐํ ํ ๋น์ ์ฌ์ฉํ๋ค๋ฉด, ๊ฐ์ฒด ์์ ์๋ ๊ฐ์ ์ถ์ถํด์ ๋ณ์ / ์์๋ก ๋ฐ๋ก ์ ์ธ์ด ๊ฐ๋ฅํ๋ค.
# Case 1: ๊ธฐ์กด ํ ๋น ๋ฐฉ๋ฒ
let person = {
name: "Jedi",
age: 20,
phonenumber: 01012345678,
};
let name = person.name;
let age = person.age;
let phonenumber: person.phonenumber;
# Case 2: ๋น๊ตฌ์กฐํ ํ ๋น
let person = {
name: "Jedi",
age: 20,
phonenumber: 01012345678,
};
let { name, age, phonenumber } = person;
์ด๋ ๊ฒ ๊ฐ์ฒด์์๋ Key๊ฐ๊ณผ ๋ณ์๋ช ๋ง ์ผ์น์ํค๋ฉด ๋น๊ตฌ์กฐํ ํ ๋น์ ์ฌ์ฉํ ์ ์๋ค.
๋ง์ฝ ๋ค๋ฅธ ๋ณ์ ๋ช ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ':'๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
let person = {
name: "Jedi",
age: 20,
phonenumber: 01012345678,
};
let { name, age, phonenumber: number } = person;
console.log(number); // 01012345678
์ ์์์ฒ๋ผ phonenumber ๋์ number ๋ผ๋ ๋ณ์ ๋ช ์ ์ฌ์ฉํ ์ ์๋ค.
SWAP
๋ณดํต ๊ฐ ๋ณ์์ ๊ฐ์ ์๋ก ๋ฐ๊พธ๊ธฐ ์ํด์ ๊ฐ์ ๋ด์ ๊ตํํด์ค ๋ณ์(temp)๊ฐ ํ์ํ๋ค.
let a = 10;
let b = 20;
let temp = a;
a = b;
b = temp;
console.log(a, b); // 20 10
ํ์ง๋ง, ๋น๊ตฌ์กฐํํ ๋น์ ํ์ฉํ๋ฉด temp ์์ด๋ ์ฝ๊ฒ ๊ฐ์ swap ํ ์ ์๋ค.
let a = 10;
let b = 20;
[a, b] = [b, a];
console.log(a, b); // 20 10
'๐ฆ Computer Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ๋๊ธฐ & ๋น๋๊ธฐ (0) | 2022.03.04 |
---|---|
[JavaScript] spread | ์ ๊ฐ ์ฐ์ฐ์ (0) | 2022.03.03 |
[JavaScript] Truthy & Falsy (0) | 2022.02.24 |
[JavaScript] ๋ฐฐ์ด ๋ด์ฅ ํจ์ (0) | 2022.02.21 |
[JavaScript] ์ฝ๋ฐฑ ํจ์ (0) | 2022.02.17 |