TIL/JavaScript

TIL 12: ๊ฐ์ฒด

Deviloper๐Ÿ˜ˆ 2021. 8. 3. 00:42

๊ฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ๋Š” ์ˆœ์„œ๋ฅผ ๊ฐ–์ง€ ์•Š์ง€๋งŒ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. 

 

์•„๋ž˜ ๋‘ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๊ฐ์ฒด์˜ ํ‚ค์™€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ , ์ถ”๊ฐ€ํ•˜๊ณ , ์‚ญ์ œํ•˜๋Š” ๊ฒƒ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ•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๋ถ„ ์ค‘์—์„œ ๊ฐ€์žฅ ๋‚˜์ด๋Œ€๊ฐ€ ๋น„์Šทํ•œ ๋ถ„์ด์…”์„œ ์ธ์ง€๋Š” ๋ชฐ๋ผ๋„ ๊ต‰์žฅํžˆ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์ž˜๋˜๋Š” ๋А๋‚Œ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค! ๋•๋ถ„์— ๊ฐ™์ด ์œผ์Œฐ์œผ์Œฐํ•˜๋ฉด ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋“ค์„ ๊ฑฐ์˜ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์˜ ์ ˆ๋ฐ˜ ์•ˆ์— ํ’€ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ „์— ํšŒ์‚ฌ์—์„œ ๊ทผ๋ฌดํ–ˆ๋˜ ๊ฒฝํ—˜์ด ์žˆ๊ธฐ๋„ ํ•˜๊ณ , ๋ญ”๊ฐ€ ์ฝ”๋”ฉ์— ์ •๋ง ๊ด€์‹ฌ์ด ์žˆ์œผ์‹  ๋ถ„์ด์…”์„œ ๊ทธ๋Ÿฐ์ง€ ๊ฟ€ํŒ์„ ๋งŽ์ด ์–ป์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋™๊ธฐ๋ถ€์—ฌ๋„ ๊ต‰์žฅํžˆ ๋งŽ์ด ๋ฐ›์•˜๊ณ , ์ € ๋˜ํ•œ ๋” ๋…ธ๋ ฅํ•ด์„œ ์ดํ›„์— ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ์ €๋„ ๊ฟ€ํŒ์„ ๋“œ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹คใ…‹ใ…‹ใ…‹ ๋‚ด์ผ ๋˜ ์ƒˆ๋กœ์šด ๋ถ„๊ณผ ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๋˜ ์ข‹์€ ๊ฒฝํ—˜ ํ•ด๋ณด๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค (: