๐Ÿค ์€์ง€log ๐Ÿค

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ๋ณธ๋ฌธ

๐Ÿ’œ ๋ชจ๋˜Javascript

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

Eun_zii 2022. 9. 28. 14:20

๊ฐ์ฒด

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด ์ด๋‹ค.
  • ๐Ÿ“Œ ์›์‹œ๊ฐ’์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ฐ’(ํ•จ์ˆ˜,๋ฐฐ์—ด,์ •๊ทœ ํ‘œํ˜„์‹ ๋“ฑ)์€ ๋ชจ๋‘ ๊ฐ์ฒด๋‹ค. 
  • ๊ฐ์ฒด๋Š” ํ”„๋กœํผํ‹ฐ(๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’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
728x90

'๐Ÿ’œ ๋ชจ๋˜Javascript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ•จ์ˆ˜  (0) 2022.09.28
์›์‹œ๊ฐ’๊ณผ ๊ฐ์ฒด ๋น„๊ต  (0) 2022.09.28
๋‹จ์ถ•ํ‰๊ฐ€  (0) 2022.09.28
ํƒ€์ž… ๋ณ€ํ™˜  (0) 2022.09.28
๋ฐ˜๋ณต ๋ฌธ  (0) 2022.09.28