TIL 12: ๊ฐ์ฒด
๊ฐ์ฒด๋ ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ๋ ์์๋ฅผ ๊ฐ์ง ์์ง๋ง ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค.
์๋ ๋ ๋ฐฉ๋ฒ์ ํตํด ๊ฐ์ฒด์ ํค์ ๊ฐ์ ์ฌ์ฉํ๊ณ , ์ถ๊ฐํ๊ณ , ์ญ์ ํ๋ ๊ฒ ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค.
๋ฐฉ๋ฒ1: Dot Notation
let laptop = {};
laptop.color = 'spacegrey';
laptop.brand = 'Apple';
laptop.hardDiskSize = '256GB';
laptop.memory = '8GB';
laptop.monitor = '13inch';
์์ ๊ฐ์ด dot์ ์ฌ์ฉํด์ ๊ฐ์ฒด์ key์ value๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ฐฉ๋ฒ2: Bracket Notation
let insta = {};
insta['name'] = 'yun';
insta['nickname'] = 'cherish_yun';
insta['website'] = 'https://high-developer.tistory.com/'
Dot Notation๊ณผ ๋ฌ๋ฆฌ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋๋ Bracket ์์ Key๋ฅผ ๋ฌธ์์ด ํํ๋ก ํํํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ํ ์ ์ ํจ์๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฌ์ฌ ๋์ ๋๋ค.
ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ key๋ก ๊ฐ์ง๊ณ , value๋ ๋งค๊ฐ๋ณ์ value์ ๊ฐ์ผ๋ก ๊ฐ์ง๋ ์์ฑ์ด ํ ๋น๋๊ธฐ ์ํด์๋ dot notation์ด ์๋๋ผ bracket notation๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ bracket notation์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋งค๊ฐ๋ณ์๋ฅผ ์จ์ค ๋ ๋ฌธ์์ด ํํ๋ก ์ํด์ผ ์ธ์๋ฅผ ์ด๋ค ๊ฐ์ผ๋ก ๋ฐ๋๋์ ์๊ด ์์ด ๋ด๋ถ๋ก ์ ๋ฌํด ์ค ์ ์์ต๋๋ค.
for in ๊ตฌ๋ฌธ: ๊ฐ์ฒด์ ๋ชจ๋ Key์ ์ ๊ทผํ๊ณ ์ถ๋ ฅ ๊ฐ๋ฅ
for of ๊ตฌ๋ฌธ: string, array, ์ ์ฌ๋ฐฐ์ด ๋ฑ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ๋ณต๋ฌธ
let laptop = {};
laptop.color = 'spacegrey';
laptop.brand = 'Apple';
laptop.hardDiskSize = '256GB';
laptop.memory = '8GB';
laptop.monitor = '13inch';
for (let [key,value] of Object.entries(laptop)) {
console.log(`${key}: ${value}`)
}
์์ฒ๋ผ entries๋ผ๋ method์ for๋ฌธ์ ์ด์ฉํ๋ฉด ๋ฐฐ์ด์ key์ value๋ฅผ [key, value]์ ํํ๋ก ๋ฆฌํดํฉ๋๋ค.
์ค๋ ๋ ํ ๋ถ๊ณผ์ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ๋ง์ณค์ต๋๋ค. 4๋ถ ์ค์์ ๊ฐ์ฅ ๋์ด๋๊ฐ ๋น์ทํ ๋ถ์ด์ ์ ์ธ์ง๋ ๋ชฐ๋ผ๋ ๊ต์ฅํ ์ปค๋ฎค๋์ผ์ด์ ์ด ์๋๋ ๋๋์ด ๋ค์์ต๋๋ค! ๋๋ถ์ ๊ฐ์ด ์ผ์ฐ์ผ์ฐํ๋ฉด ์ฃผ์ด์ง ๋ฌธ์ ๋ค์ ๊ฑฐ์ ์ฃผ์ด์ง ์๊ฐ์ ์ ๋ฐ ์์ ํ ์ ์์์ต๋๋ค. ๋ํ ์ด์ ์ ํ์ฌ์์ ๊ทผ๋ฌดํ๋ ๊ฒฝํ์ด ์๊ธฐ๋ ํ๊ณ , ๋ญ๊ฐ ์ฝ๋ฉ์ ์ ๋ง ๊ด์ฌ์ด ์์ผ์ ๋ถ์ด์ ์ ๊ทธ๋ฐ์ง ๊ฟํ์ ๋ง์ด ์ป์ด๊ฐ ์ ์์์ต๋๋ค. ๋๋ถ์ ๋๊ธฐ๋ถ์ฌ๋ ๊ต์ฅํ ๋ง์ด ๋ฐ์๊ณ , ์ ๋ํ ๋ ๋ ธ๋ ฅํด์ ์ดํ์ ๊ธฐํ๊ฐ ๋๋ค๋ฉด ์ ๋ ๊ฟํ์ ๋๋ฆฌ๊ณ ์ถ์์ต๋๋คใ ใ ใ ๋ด์ผ ๋ ์๋ก์ด ๋ถ๊ณผ ํ์ดํ๋ก๊ทธ๋๋ฐ์ ํ๊ฒ ๋๋๋ฐ ๋ ์ข์ ๊ฒฝํ ํด๋ณด๋ฉด ์ข๊ฒ ์ต๋๋ค (: