
1. ๊ฐ์ฒด์ property์ ์ ๊ทผํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
cosnt obj = {
name: 'junha'
}
obj.name
obj['name']
// 'junha'
2. object.key ๋ฐฉ๋ฒ์ ๋ฌธ์ ์
ํ์ดํ(-)์ด ๋ค์ด๊ฐ property์ ์ ๊ทผํ ์ ์๋ค.
obj.a-b
// (obj.a) - b
obj['b-c']
// obj์ key 'a-b'์ ์ ๊ทผ
var a = {
"a" : 1,
"b-c": 2,
"0d" : 3, // ์ ์ธ ์์ฒด๋ ๊ฐ๋ฅ
"d0" : 4,
2: 5
}
console.log(a.a) // 1
console.log(a.b-c) // ReferenceError: c is not defined
console.log(a.0d) // SyntaxError: Invalid or unexpected token
// ๋ณ์๋ ์ซ์๊ฐ ๋จผ์ ๋์ค๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
console.log(a.d0) // 4
console.log(a.2) // Uncaught SyntaxError: Unexpected number
console.log(a[2]) // 5
console.log(a['2']) // 5
console.log(Object.keys(a)[4]) // string
- 2์ ๋ํ ์ ๊ทผ์ a[‘2’]๋ก๋ ๊ฐ๋ฅํ์ง๋ง, a.2๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก a[‘0d’]๋ ๊ฐ๋ฅํ์ง๋ง a.0d๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
const a = {
"a" : 1,
2 : 2,
"b-c" : 3, // -
"— d" : 4, // —
" e " : 5 // space
}
- ๋๋๊ฒ๋ ๋ฐ์ดํ๋ก ์ฎ์ผ๋ฉด ํ์ดํ,space ๋ฌธ์๋ฑ์ ํฌํจ ํ ์ ์๋ค.
- ๊ทธ๋ผ ์ ๊ทผ ๊ฐ๋ฅํ ๊น? O_O ๋ชจ๋ ์ ๊ทผ๊ฐ๋ฅํ๋ค!
- ์ฌ์ ํ ๋ฌธ์์ด๋ก ๋์ด์๊ณ , ์ด๋ .(dot)ํํ์ ํ๊ณ๋ฅผ ๋์ด [] ํํ์ผ๋ก ๋ชจ๋ ์ ๊ทผ๊ฐ๋ฅํ๋ค.
- object[key] ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฒด์ ์์ฑ๊ฐ์ด ๋ฌธ์์ด์ด๋ผ๋ฉด ์ ๋ถ ์ ๊ทผ๊ฐ๋ฅํ๋ค.
4. ๋ณ์๋ก key์ ์ ๊ทผํ๊ณ ์ถ์ ๋
const obj = {
name : 'junha',
age : 20,
key : '9999'
}
const key = ‘age’
obj.age
obj["age"]
obj[key]
// 20
obj.key
// 9999
for (key in obj) {
console.log(obj.key)
// '9999', '9999', '9999'
console.log(obj[key])
// 'junha', 20, '9999'
}
- for๋ฌธ, mapํจ์๋ ๊ฐ์ฒด์ ์์ฑ ๊ฐ์๋งํผ loop๋ฅผ ๋๋ค.
- obj.key๋ obj["key"]์ ๊ฐ์ ์๋ฏธ๋ค.
5. ๊ฐ์ฒด์ ํค๋ฅผ ๋ณ์๋ก ํ ๋นํ๊ณ ์ถ์ ๋ (ES6)
const key = 'tall'
const value = 180
const obj = {
[key]: value
}
obj
// { tall: 180 }
๋ฐ์ํ
'๐ Front > ๐ฑ Vanilla JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| arguments ๊ฐ์ฒด: function์์ ์๋ ๋, ๋๊ฐ ์ ์ธํ๋? (0) | 2021.11.18 |
|---|---|
| [addEventListener] ์ฝ๋ฐฑํจ์์๊ฒ ์ธ์๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ (0) | 2021.11.17 |
| Window ๊ฐ์ฒด (0) | 2021.02.23 |
| ES(ECMAScript) VS JS(JavaScripit) ์ฐจ์ด์ (0) | 2021.02.13 |
| [JSON] ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํํ ๋ฐฉ๋ฒ, ๊ทธ๋ผ XML, BSON์? (0) | 2021.01.27 |