๐ ๊ฐ์ฒด(Object)๋?
๊ฐ์ฒด๋ ์ด๋ฆ(key)๊ณผ ๊ฐ(value)์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ.
- ์ฌ๋ฌ ์์ฑ(์ ๋ณด)์ ํ๋๋ก ๋ฌถ์ด์ ํํํ ์ ์์.
- ํค๋ ๋ฌธ์์ด(๋๋ ์ฌ๋ณผ), ๊ฐ์ ์ด๋ค ์๋ฃํ์ด๋ ๊ฐ๋ฅ.
์์
let person = {
name: 'Alice',
age: 25,
isStudent: true
};
โ ๋ฐฐ์ด vs ๊ฐ์ฒด ์ฐจ์ด
| ๊ตฌ๋ถ | ๋ฐฐ์ด (Array) | ๊ฐ์ฒด (Object) |
|---|---|---|
| ๋ชฉ์ | ์์ ์๋ ๊ฐ์ ์ ์ฅ | ์ด๋ฆ ๋ถ์ ๊ฐ์ ์ ์ฅ |
| ํค/์ธ๋ฑ์ค | ์ซ์ ์ธ๋ฑ์ค (0, 1, 2...) | ๋ฌธ์์ด ํค ("name", "age"...) |
| ์ ์ธ ๋ฐฉ์ | let arr = [1, 2, 3]; | let obj = { name: 'Tom', age: 20 }; |
| ๊ฐ ์ ๊ทผ ๋ฐฉ์ | arr[0] | obj.name ๋๋ obj['name'] |
| ์ํ ๋ฐฉ์ | for, forEach, map, for...of | for...in, Object.keys() ๋ฑ |
| ์ฉ๋ | ๋ฆฌ์คํธ, ๋ชฉ๋ก, ์์ฐจ์ ๋ฐ์ดํฐ | ๊ฐ์ฒด์ ์์ฑ ์ ๋ณด ์ ์ฅ (์: ์ฌ์ฉ์ ์ ๋ณด) |
โ ๊ฐ์ฒด์ ์์ฑ
โ ๊ฐ์ฒด ๋ฆฌํฐ๋ด(Object Literal)
const person = {
name: 'Alice',
age: 25,
isStudent: true
};
โก ์์ฑ์ ํจ์(Constructor Function)
function Person(name, age) {
this.name = name;
this.age = age;
}
const person1 = new Person('Bob', 30);
โข new Object( ) ์์ฑ์ ์ฌ์ฉ
const person = new Object();
person.name = 'Charlie';
person.age = 28;
โฃ Object.create( ) ์ฌ์ฉ
const proto = {
greet() {
console.log('Hello!');
}
};
const person = Object.create(proto);
person.name = 'Daisy';
โ
๊ฐ์ฒด์ ๋ฐ๋ณต๋ฌธ

โ for...in ๋ฌธ
const user = {
name: 'Alice',
age: 25,
isStudent: true
};
for (let key in user) {
console.log(key); // ํค ์ถ๋ ฅ: name, age, isStudent
console.log(user[key]); // ๊ฐ ์ถ๋ ฅ: Alice, 25, true
}
โก Object.keys( ) + forEach( )
Object.keys(user).forEach(function(key) {
console.log(key, user[key]);
});
โข Object.entries( )
for (let [key, value] of Object.entries(user)) {
console.log(`${key}: ${value}`);
}