key: value
์์ผ๋ก ๊ตฌ์ฑ๋ ํ๋กํผํฐ(property)๋ค์ ์งํฉ์ผ๋ก, ์์ํ(primitive)๊ณผ ๋ค๋ฅด๊ฒ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ค. ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ํ๋กํผํฐ๋ฅผ ์ด๊ฑฐํ ๋ ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค.
ํ๋กํผํฐ ๋ด ๊ฐ์ผ๋ก ํจ์๋ฅผ ์ฌ์ฉํ ์๋ ์๋๋ฐ, ๊ทธ๋ด ๊ฒฝ์ฐ ์ผ๋ฐ ํจ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ฉ์๋
๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฆ, ๋ฉ์๋๋ ๊ฐ์ฒด์ ์ ํ๋์ด ์๋ ํจ์๋ฅผ ์๋ฏธํ๋ค.
{}
์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ 1๊ฐ ์ด์์ ํ๋กํผํฐ๋ฅผ ๊ธฐ์ ํ๋ฉด ํด๋น ํ๋กํผํฐ๊ฐ ์ถ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ใ
ฃใ
ใ
๋ค. ์๋ฌด๊ฒ๋ ๊ธฐ์ ํ์ง ์์ ๊ฒฝ์ฐ, ๋น ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค.
const Hana = {
name : "Hyewon",
age : 27,
}
console.log(typeof Hana); // 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