[๐ŸŒณJavascript] ๊ฐ์ฒด(Object)

h-a-n-aยท2023๋…„ 1์›” 15์ผ
1

๐ŸŒณjavascript

๋ชฉ๋ก ๋ณด๊ธฐ
1/17
post-thumbnail

๊ฐ์ฒด๋ž€? ๐Ÿ—„๏ธ

key: value ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœํผํ‹ฐ(property)๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ, ์›์‹œํ˜•(primitive)๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ํ”„๋กœํผํ‹ฐ๋ฅผ ์—ด๊ฑฐํ•  ๋•Œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ฉ”์†Œ๋“œ

ํ”„๋กœํผํ‹ฐ ๋‚ด ๊ฐ’์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿด ๊ฒฝ์šฐ ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ฆ‰, ๋ฉ”์†Œ๋“œ๋ž€ ๊ฐ์ฒด์— ์ œํ•œ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋ฆฌํ„ฐ๋Ÿด ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ

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

{} ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1๊ฐœ ์ด์ƒ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ธฐ์ˆ ํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ใ…ฃใ…‡ใ…†๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ๊ธฐ์ˆ ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๋นˆ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

const Hana = {
	name : "Hyewon",
  	age : 27,
}
console.log(typeof Hana); // object

Object ์ƒ์„ฑ์ž ํ•จ์ˆ˜

๋นˆ ๊ฐ์ฒด ์ƒ์„ฑ ์ดํ›„ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

let fruit = new Object();
fruit.a = "apple";
fruit.b = "banana";
console.log(fruit) //{a: 'apple', b: 'banana'}

ํ”„๋กœํผํ‹ฐ ๐Ÿ—‚๏ธ

ํ”„๋กœํผํ‹ฐ ๊ฐ’ ์–ป๊ธฐ

  • ์  ํ‘œ๊ธฐ๋ฒ•
alert(Hana.name); //Hyewon
alert(Hana.age);//27
  • ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ๋ฒ•
alert(Hana['name']) // Hyewon
alert(Hana["age"]) //27
// Hana.["age"] ๋ผ๊ณ  ํ‘œ๊ธฐํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜!!

ํ”„๋กœํผํ‹ฐ ๊ฐ’ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๊ธฐ

ํ”„๋กœํผํ‹ฐ๊ฐ’์—” ๋ชจ๋“  ์ž๋ฃŒํ˜•์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. (ํ”„๋กœํผํ‹ฐ์˜ ํ‚ค์—๋Š” ๋ฌธ์ž์—ด์ด๋‚˜ symbol ๊ฐ’์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ด์™ธ์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ์•”๋ฌต์ ์œผ๋กœ ํƒ€์ž…์ด ๋ณ€ํ™˜๋˜์–ด ๋ฌธ์ž์—ด์ด ๋œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์œ ํšจํ•œ ์ด๋ฆ„์ผ ๊ฒฝ์šฐ, ๋งค๋ฒˆ "", '' ๋“ฑ์˜ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.)

Hana."smile" = true;
console.log(Hana);// {name: 'Hyewon', age: 27, smile: true}
delete Hana.age;
console.log(Hana);//{name: 'Hyewon', smile: true}

-like dogs ๊ฐ™์ด JS์—์„œ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ด๋ฆ„์„ key๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€/์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด "", ''์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

const tiffany = {
	name: "Jiwoo",
	"like dogs": true,
}

์ด๋Ÿฐ ํ‚ค์˜ ๊ฐ’์„ ์–ป์„ ๊ฒฝ์šฐ์—” ๋Œ€๊ด„ํ˜ธ ํ‘œ๊ธฐ๋ฒ•๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

tiffany["like dogs"]; // true
profile
ํ•˜๋ฃจํ•˜๋ฃจ๊ฐ€ ์—ฐ์Šต์ด๋‹ˆ ๋‚ด์ผ์€ ๋” ๊ฐ•ํ•ด์งˆ ๊ฒ๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€