Week 3 - JavaScript 07. ๊ฐ์ฒด

๊น€๋ฏผ์žฌยท2021๋…„ 8์›” 9์ผ
1

TIL, WeCode, Courseย 

๋ชฉ๋ก ๋ณด๊ธฐ
7/48
post-thumbnail
post-custom-banner

*๐Ÿ”Study Keyword :

๐Ÿ”‘๊ฐ์ฒด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ  ๐Ÿ”‘๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ™์ง€!

- 07. ๊ฐ์ฒด


-WHAT ISโ“

  • ๊ฐ์ฒด(Object)๋ž€ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.

-HOW TO USEโ•โ“

  • Object๋Š” ์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ๋ฉฐ ํ‚ค๊ฐ€ ์žˆ๊ณ  ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ(๊ฐ’)์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
<script>
let obj = {
 name: 'jamie',
 location : { // ๊ฐ์ฒด ์•ˆ์— locationํ‚ค์˜ ๊ฐ’์œผ๋กœ ๊ฐ์ฒด๊ฐ€ ์ค‘์ฒฉ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ
   country : 'South Korea',
   city: 'Seoul'
 },
 age : 26,
 cats : ['๋ƒฅ๋ƒฅ','์˜น์˜น'] // catsํ‚ค์˜ ๊ฐ’์œผ๋กœ ๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค.  
}
console.log(obj)
</script>

-Array์—๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“์€ ์ง‘ํ•ฉ์œผ๋กœ ๋ฐฐ์—ด์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ์š”์†Œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
-Object ์—ญ์‹œ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“์€ ์ง‘ํ•ฉ์œผ๋กœ ๊ฐ์ฒด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ํ”„๋กœํผํ‹ฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  • ํ”„๋กœํผํ‹ฐ๋Š” ํ‚ค(key)์™€ ํ‚ค์˜ ๊ฐ’(value)์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

-๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด๋Š” ๊ทธ๋Ÿผ ๋ญ๊ฐ€ ๋‹ค๋ฅธ๋ฐ์šฅ๐Ÿคทโ€โ™‚๏ธ?

  • ๊ฐ์ฒด๋Š” ์ธ๋ฑ์Šค(๊ฐ’์˜ ์ˆœ์„œ)๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ํ”„๋กœํผํ‹ฐ๊ฐ€ key๊ฐ’๊ณผ value๊ฐ’์„ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค๊ตฌ๐Ÿ™†โ€โ™€๏ธ!

-๊ทธ๋Ÿผ ๊ฐ์ฒด์—๋Š” ํ”„๋กœํผํ‹ฐ(์†์„ฑ)์—๋Š” ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”๊ต? ๐Ÿคทโ€โ™‚๏ธ

  • ๊ฐ์ฒด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์ธ ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ฐ์ฒด์˜ ํ‚ค๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค๊ตฌ!๐Ÿ™‹โ€โ™‚๏ธ

- 07_1. ๊ฐ์ฒด์˜ ์†์„ฑ์— ์ ‘๊ทผ

  • Dot Notation - ๊ฐ์ฒด๋ช….๊ฐ์ฒด์˜ ํ‚ค๋กœ ์ ‘๊ทผํ•œ๋‹ค.
  • Bracket Notation - ๊ฐ์ฒด๋ช….['๊ฐ์ฒด์˜ ํ‚ค']๋กœ ์ ‘๊ทผํ•œ๋‹ค.
  • ์ ‘๊ทผํ•œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค!

-Q. Dot Notation๊ณผ Bracket Notation ์ฐจ์ด๋Š” ๋ญ”๋””๐Ÿคทโ€?

A. Dot Notation์— ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ์œผ๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค!!

<script>
let obj = {
 'name': 'jamie',
 'location' : {
   country : 'South Korea',
   city: 'Seoul'
 },
 'age' : 26,
 'cats' : ['๋ƒฅ๋ƒฅ','์˜น์˜น'],   
 'myKey' : 'Hi world'
}
let myKey = 'cats'
console.log(obj['cats']);
console.log(obj[myKey]);
console.log(obj.myKey); 
// let myKey = cats ๋ณ€์ˆ˜๋กœ๋Š” ์ ‘๊ทผ ๋ถˆ๊ฐ€ => ์˜ค๋ฅ˜ 
// BUT ๊ฐ์ฒด ์•ˆ์— ์žˆ๋Š” 'meyKey' ํ‚ค๋กœ์„œ๋Š” ์ ‘๊ทผ ๊ฐ€๋Šฅ => 'Hi world'์ถœ๋ ฅ
</script>
  • ๐Ÿšซ์ฃผ์˜์ฃผ์˜๐Ÿšซ) ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค์— ์ ‘๊ทผํ•˜๋ฉด undefined๊ฐ€ ๋‚˜์˜จ๋‹ค๋Š” ์‚ฌ์‹ค!

*๐Ÿ’กconclusion

  • ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•ด์„œ ์ž˜ ์•Œ์•„๋‘์ž!
  • ๊ฐ์ฒด์˜ ์†์„ฑ์— ์ ‘๊ทผํ•  ๋•Œ dot, braket์ด ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ๊นŒ์ง€ ์•Œ๋ฉด ๋งŒ์ !

#๐Ÿ“‘Study Source

  1. weekcode ๊ฐ•์˜ ์ค‘ ๋‚ด์šฉ
profile
์ž๊ธฐ ์‹ ๋ขฐ์˜ ํž˜์„ ๋ฏฟ๊ณ  ์‹ค์ฒœํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์žํ•ฉ๋‹ˆ๋‹ค.
post-custom-banner

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