๐Object ๊ฐ์ฒด
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด(object) ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
๊ฐ์ฒด๋ mutable (๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ) ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ด๋ฏ๋ก ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
- ๊ฐ์ฒด๋ property๋ก ๊ตฌ์ฑ๋๋ค
- JS์ ํจ์๋ ๊ฐ์ฒด๋ก ์ทจ๊ธ : ํจ์ = property
ํ๋กํผํฐ
: ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ํ๋ด๋ ๊ฐ(data)๋ฉ์๋
:
- ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ๊ณ ์กฐ์ํ๋ ๋์
- property๊ฐ์ด ํจ์์ธ ๊ฒฝ์ฐ
- ๊ฐ์ฒด์ ๋ฌถ์ฌ์๋ ํจ์
ex) increase : ๋ฉ์๋
num :ํ๋กํผํฐ
var counter = {
num : 0,
increase : function(){
this.num++
}
};
immutable | ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ | const ๋ณ์, Object.freeze ๊ฐ์ฒด |
mutable | ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ | ๊ฐ์ฒด,ํจ์,๋ฐฐ์ด,์ ๊ทํํ์ |
variable : ๋ณ์๋ ๊ฐ ์์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค
Object
: ๊ฐ์ฒด๋ Object๋ฅผ ๊ฐ๋ฆฌํค๋ reference๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค.
๊ฐ์ฒด ์์ฑ
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋กํ ํ์ ์ธ์ด๋ก ๋ค์ํ ๊ฐ์ฒด ์์ฑ ๋ฐฉ๋ฒ์ ์ง์
1) ๊ฐ์ฒด ๋ฆฌํฐ๋ด
2) Object ์์ฑ์ ํจ์
3) ์์ฑ์ ํจ์
4) Object.creater
5) ํด๋์ค (ES6)
ํค์๋ | ์์ |
---|---|
๊ฐ์ฒด๋ฆฌํฐ๋ด | const todo ={content:'hi'} |
์์ฑ์ ํจ์ | const todo = new Todo |
๐ ํ๋กํผํฐ
๊ฐ์ฒด ํ๋กํผํฐ ๊ฐ ์ ๊ทผํ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ
๋๊ดํธ๋ก ์ ๊ทผํ ์์ ๊ผญ '
๋ก ๊ฐ์ผ ๋ฌธ์์ด์ด์ด์ผ ํจ
๋ง์นจํ | person.name |
๋๊ดํธ | person['name'] |
Node.js ์ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ์คํ ๊ฒฐ๊ณผ ์ฐจ์ด
๋ธ๋ผ์ฐ์ ํ๊ฒฝ์๋ ๊ธฐ์กด ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๊ฐ ์๋ฌต์ ์ผ๋ก ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ํ๋กํผํฐ ๊ฐ์ ์ ๊ทผํ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅผ ์ ์๋ค.
์์ฑ๊ณผ ์ญ์
var person = {
name : 'Tami',
}
//์์ฑ
person.age = 25 // {name:'Tami',age:'25'}
//์ญ์
delete person.age // {name: 'Tami'}
ํ๋กํผํฐ ํค ์๋ต ๊ฐ๋ฅ
const x=1, y=3;
const obj = {x,y}
//const obj = {x:x, y:y}
//obj = {x:1, y:3}
'๐ JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS Tam9์ํ] #5 ํ๋กํผํฐ ์์ฑ๊ณผ ์์ฑ์ ํจ์์ ์ํ ๊ฐ์ฒด ์์ฑ (0) | 2021.07.26 |
---|---|
[JS Tam9์ํ] #4 Primitive VS Object (Reference) (0) | 2021.07.18 |
[JS Tam9์ํ] #2 FE ์ํ๊ด๋ฆฌ (0) | 2021.07.16 |
[JS Tam9์ํ] #1 DOM (0) | 2021.07.16 |
[JavaScript] Closure ๊ณผ Currying (0) | 2021.04.09 |
๋๊ธ