๐Ÿ’ฌ ์˜ค๋Š˜ ์ˆ˜์—…์€ javascript์˜ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์•˜๋‹ค.

์˜ค๋Š˜๋„ ๋Š˜ ๊ทธ๋ ‡๋“ฏ์ด ํ•ต์‹ฌ๋งŒ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
๋””ํ…Œ์ผํ•œ ๋ถ€๋ถ„์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋”ฅ ๋‹ค์ด๋ธŒ ์‹œ๋ฆฌ์ฆˆ์— ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ด๋‹ค.


1. ๊ฐ์ฒด๋ž€ ๋ฌด์—‡์ธ๊ฐ€

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด๋Š” ํ‚ค(key)๊ณผ ๊ฐ’(value)์œผ๋กœ ๊ตฌ์„ฑ๋œ
    ํ”„๋กœํผํ‹ฐ(Property)๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.
  • ์›์‹œํ˜• ๊ฐ’์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ฐ’(ํ•จ์ˆ˜, ๋ฐฐ์—ด, ์ •๊ทœ ํ‘œํ˜„์‹ ๋“ฑ)์€ ๋ชจ๋‘ ๊ฐ์ฒด์ด๋‹ค.

2. ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์ƒ๊น€์ƒˆ

  1. let obj = {} // ์ฒ˜์Œ ๊ฐ์ฒด ์ง€์ • ๋ฐฉ๋ฒ•
    obj์— {} ์ค‘๊ด„ํ˜ธ๋ฅผ ํ• ๋‹น ์‹œ์ผœ์ค€ ๊ฒƒ์ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ์ด ๋œ ๊ฒƒ์ด๋‹ค.
    1-1. let obj = new Object();
    new ์—ฐ์‚ฐ์ž์™€ Object ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋นˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. let obj = {ํ‚ค : ๊ฐ’}
    ๊ฐ์ฒด๋Š” {} ์ค‘๊ด„ํ˜ธ ์•ˆ์— : ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ‚ค์™€ ๊ฐ’์ด ๊ตฌ๋ถ„๋œ๋‹ค.
  1. ์ฒ˜์Œ ๋ณ€์ˆ˜์— ๊ฐ์ฒด๋ฅผ ํ• ๋‹น์‹œ์— let obj = {'one' : 1} ์ฒ˜๋Ÿผ ๊ฐ์ฒด ์•ˆ์— ๊ฐ’์ด ๋จผ์ € ํ• ๋‹น๋˜์–ด ๋“ค์–ด๊ฐ€๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

3. ๊ฐ์ฒด ํ‚ค, ๊ฐ’ ํ• ๋‹น

// ๋นˆ ๊ฐ์ฒด์˜ ์ƒ์„ฑ
let obj = new Object(); ๋˜๋Š” let obj = {}
// ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€
obj.name = 'Lee';
obj.gender = 'male';

// ํ‚ค ๊ฐ’ ๋ณ€๊ฒฝ
1. ํ‚ค ๊ฐ’์ด ๋ณ€์ˆ˜๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์„ ๋•Œ :
obj = {name : 'Lee', gender : 'male'} ์ผ ๋•Œ,
obj.name = 'Kim'
=> obj = {name : 'Kim', gender : 'male'} ์œผ๋กœ ๋ณ€๊ฒฝ๋จ
obj ํ‚ค๊ฐ€ ๋ณ€์ˆ˜๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋‹ค๋ฉด obj.๋ณ€์ˆ˜์ด๋ฆ„ ๋˜๋Š” obj[๋ณ€์ˆ˜์ด๋ฆ„] ์œผ๋กœ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
2. ํ‚ค ๊ฐ’์ด ๋ฌธ์ž์—ด๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์„ ๋•Œ :
obj = {'name' : 'Lee', 'gender' : 'male'} ์ผ ๋•Œ,
obj['name'] = "Kim" ์œผ๋กœ "" ๋”ฐ์˜ดํ‘œ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค.

4. ๊ทธ๋Ÿผ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€ ?

  • ๊ด€๋ จ ์žˆ๋Š” ์ •๋ณด๋“ค์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ์— ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด, ๋ฐ์ดํ„ฐ(Value)์™€ ๋ฌธ์ž์—ด(Key)์„ ์—ฐ๊ด€ ์ง€์–ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ์œ ์ง€ ๋ณด์ˆ˜ํ•  ๋•Œ์—๋„ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๋‹ค.

5. ๋ฌด์–ธ๊ฐ€์˜ ์ž‘์—…์„ ์œ„ํ•ด ๊ฐ์ฒด์˜ ํ‚ค์™€ ๊ฐ’์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ

  • for in ๋ฌธ

    for (key in obj){
    console.log(key) -> obj ๊ฐ์ฒด์— ์†ํ•œ ํ‚ค ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    console.log(obj[key]) -> obj ๊ฐ์ฒด์— ์†ํ•œ key์— ๋Œ€ํ•œ ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    }

  • ํ•จ์ˆ˜ ์‚ฌ์šฉ

    1. Object.Keys(๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„)
      ๊ฐ์ฒด์˜ ํ‚ค๋ฅผ ๋ชจ๋‘ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    2. Object.values(๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„)
      ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ชจ๋‘ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ์ฒด์— ๊ด€ํ•œ ๋ฌธ์„œ ์ฐธ๊ณ  ๋งํฌ :

https://poiemaweb.com/js-object

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ณต๋ถ€์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€