๐ค ์์งlog ๐ค
๊ฐ์ฒด ๋ฆฌํฐ๋ด ๋ณธ๋ฌธ
๊ฐ์ฒด
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด ์ด๋ค.
- ๐ ์์๊ฐ์ ์ ์ธํ ๋๋จธ์ง ๊ฐ(ํจ์,๋ฐฐ์ด,์ ๊ท ํํ์ ๋ฑ)์ ๋ชจ๋ ๊ฐ์ฒด๋ค.
- ๊ฐ์ฒด๋ ํ๋กํผํฐ(๊ฐ์ฒด์ ์ํ๋ฅผ ๋ํ๋ด๋ ๊ฐdata) ์ ๋ฉ์๋(ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ๊ณ ์กฐ์ํ ์ ์๋ ๋์)๋ก ๊ตฌ์ฑ๋ ์งํฉ์ฒด ์ด๋ค.
ํ๋กํผํฐ
๊ฐ์ฒด๋ ํ๋กํผํฐ์ ์งํฉ์ด๋ฉฐ,
ํ๋กํผํฐ๋ ํค(๋น ๋ฌธ์์ด์ ํฌํจํ๋ ๋ชจ๋ ๋ฌธ์์ด ๋๋ ์ฌ๋ฒ ๊ฐ)์
๊ฐ(์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ๊ฐ) ์ผ๋ก ๊ตฌ์ฑ ๋๋ค.
let person = {
// ํ๋กํผํฐ ํค๋ name , ํ๋กํผํฐ ๊ฐ์ 'Lee'
name: 'Lee',
// ํ๋กํผํฐ ํค๋ age , ๊ฐ์ 20
age: 20
}; // {name: 'Lee' , age: 20}
๋ฉ์๋
ํ๋กํผํฐ ๊ฐ์ด ํจ์์ผ ๊ฒฝ์ฐ ์ผ๋ฐ ํจ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ฉ์๋๋ผ ๋ถ๋ฅธ๋ค.
์ฆ ๋ฉ์๋๋ ๊ฐ์ฒด์ ๋ฌถ์ฌ์๋ ํจ์๋ฅผ ์๋ฏธํ๋ค.
let circle = {
radius: 5 , // ํ๋กํผํฐ
// ์์ ์ง๋ฆ
getDiameter: function () { // ๋ฉ์๋
return 2 * this.radius; // this๋ circle์ ๊ฐ๋ฆฌํจ๋ค.
}
};
console.log(circle.getDiameter()); // 10
ํ๋กํผํฐ ์ ๊ทผ
ํ๋กํผํฐ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง ์ด๋ค.
1. ๋ง์นจํ ํ๋กํผํฐ ์ ๊ทผ ์ฐ์ฐ์(.)๋ฅผ ์ฌ์ฉํ๋ ๋ง์นจํ ํ๊ธฐ๋ฒ
2. ๋๊ดํธ ํ๋กํผํฐ ์ ๊ทผ ์ฐ์ฐ์([...])๋ฅผ ์ฌ์ฉํ๋ ๋๊ดํธ ํ๊ธฐ๋ฒ
let person = {
name: 'Lee'
};
// ๋ง์นจํ ํ๊ธฐ๋ฒ์ ์ํ ํ๋กํผํฐ ์ ๊ทผ
console.log(person.name); // Lee
// ๋๊ดํธ ํ๊ธฐ๋ฒ์ ์ํ ํ๋กํผํฐ ์ ๊ทผ
console.log(person['name']); // Lee
๋๊ดํธ ํ๋กํผํฐ ์ ๊ทผ ์ฐ์ฐ์ ๋ด๋ถ์ ์ง์ ํ๋ ํ๋กํผํฐ ํค๋
๋ฐ๋์ ๋ฐ์ดํ๋ก ๊ฐ์ผ ๋ฌธ์์ด ์ด์ด์ผ ํ๋ค.
ํ๋กํผํฐ ๊ฐ ๊ฐฑ์
์ด๋ฏธ ์กด์ฌํ๋ ํ๋กํผํฐ ๊ฐ์ ํ ๋นํ๋ฉด ํ๋กํผํฐ ๊ฐ์ด ๊ฐฑ์ ๋๋ค.
let person = {
name: 'Lee'
};
// person ๊ฐ์ฒด์ name ํ๋กํผํฐ๊ฐ ์กด์ฌํ๋ฏ๋ก name ํ๋กํผํฐ์ ๊ฐ์ด ๊ฐฑ์ ๋๋ค.
person.name = 'Kim';
console.log(person); // {name: 'Kim'}
ํ๋กํผํฐ ๋์ ์์ฑ
์กด์ฌํ์ง ์๋ ํ๋กํผํฐ์ ๊ฐ์ ํ ๋นํ๋ฉด ํ๋กํผํฐ๊ฐ ๋์ ์ผ๋ก ์์ฑ๋์ด ์ถ๊ฐ๋๊ณ ํ๋กํผํฐ ๊ฐ์ด ํ ๋น ๋๋ค.
let person = {
name: 'Lee'
};
// person ๊ฐ์ฒด์๋ age ํ๋กํผํฐ๊ฐ ์กด์ฌํ์ง ์๋๋ค.
// ๋ฐ๋ผ์ person ๊ฐ์ฒด์ age ํ๋กํผํฐ๊ฐ ๋์ ์ผ๋ก ์์ฑ๋๊ณ ๊ฐ์ด ํ ๋น๋๋ค.
person.age = 20;
console.log(person); // {name: 'Lee', age: 20}
ํ๋กํผํฐ ์ญ์
delete ์ฐ์ฐ์๋ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ค.
์ด๋ delete ์ฐ์ฐ์์ ํผ์ฐ์ฐ์๋ ํ๋กํผํฐ ๊ฐ์ ์ ๊ทผํ ์ ์๋ ํํ์์ด์ด์ผ ํ๋ค.
๋ง์ฝ ์กด์ฌํ์ง ์๋ ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ฉด ์๋ฌด๋ฌ ์๋ฌ ์์ด ๋ฌด์๋๋ค.
let person = {
name: 'Lee'
};
// ํ๋กํผํฐ ๋์ ์์ฑ
person.age = 20;
// person ๊ฐ์ฒด์๋ age ํ๋กํผํฐ๊ฐ ์กด์ฌํ๋ค.
// ๋ฐ๋ผ์ delete ์ฐ์ฐ์๋ก age ํ๋กํผํฐ๋ฅผ ์ญ์ ํ ์ ์๋ค.
delete person.age;
// person ๊ฐ์ฒด์ address ํ๋กํผํฐ๊ฐ ์กด์ฌํ์ง ์๋๋ค.
// ๋ฐ๋ผ์ delete ์ฐ์ฐ์๋ก address ํ๋กํผํฐ๋ฅผ ์ญ์ ํ ์ ์๋ค.
// ์ด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
delete person.address;
console.log(person); // {name: 'Lee'}
ํ๋กํผํฐ ์ถ์ฝ ํํ
let x = 1, y = 2;
// ํ๋กํผํฐ ์ถ์ฝ ํํ
const obj = { x,y };
console.log(obj); // {x: 1, y: 2}
๋ฉ์๋ ์ถ์ฝ ํํ
const obj = {
name: 'Lee',
// ๋ฉ์๋ ์ถ์ฝ ํํ
sayHi() {
console.log('Hi!' + this.name);
}
};
obj.sayHi(); // Hi!Lee
'๐ ๋ชจ๋Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํจ์ (0) | 2022.09.28 |
---|---|
์์๊ฐ๊ณผ ๊ฐ์ฒด ๋น๊ต (0) | 2022.09.28 |
๋จ์ถํ๊ฐ (0) | 2022.09.28 |
ํ์ ๋ณํ (0) | 2022.09.28 |
๋ฐ๋ณต ๋ฌธ (0) | 2022.09.28 |