๐ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ์ด ๋ฐ์ดํฐ๋ฅผ ๊ตฌํ ํ๋ ค๋ฉด, ์๋์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผํฉ๋๋ค.
let plan1Name = "Basic";
let plan1Price = 3.99;
let plan1Space = 100;
let plan1Data = 1000;
let plan1Pages = 10;
let plan2Name = "Professional";
let plan2Price = 5.99;
let plan2Space = 500;
let plan2Data = 5000;
let plan2Pages = 50;
let plan3Name = "Ultimate";
let plan3Price = 9.99;
let plan3Space = 2000;
let plan3Data = 20000;
let plan3Pages = 500;
์ด ์ค์์ ํ๋์ plan์ ์ ํํ๋ฉด ์๋์ ๊ฐ์ดย alert
ย ๋ฅผ ๋์์ฃผ๊ฒ ์ต๋๋ค.
alert(plan2Name + "ํ๋ ๊ฐ๊ฒฉ์ ํ ๋ฌ์ " + plan2Price + "๋ฌ๋ฌ์
๋๋ค.")
๋ง์ฝ ์์ธํ ์ค๋ช ๊น์ง ํด์ฃผ๋ ค๋ฉด,
alert("์ฉ๋์ " + plan2Space + "GB์ด๊ณ , ...");
์ด๋ฐ์์ผ๋ก ํด๋น ํ๋์ ๋ํ ๋ณ์ ๋์ด์ด ํ์ํฉ๋๋ค. ์ด ์ญ์ ๋ฐ์ดํฐ๊ฐ ๋์ด๋๋ฉด ๋์ด๋ ์๋ก ์ฝ๋๋ ๊ธธ์ด์ง๊ณ ๊ด๋ฆฌํ๊ธฐ๋ ํ๋ค์ด์ง๋๋ค.
๐ ์ด๋ด ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ Object ๊ฐ์ฒด์
๋๋ค.๐
๐ plan1
,ย plan2
,ย plan3
ย ๋ผ๋ object๊ฐ ์๋ค.
๐ ๊ฐ object๋ย name
,ย price
,ย space
,ย transfer
,ย pages
ย ๋ผ๋ 5๊ฐ์ property๊ฐ ์๋ค.
๐ name
ย ์ด๋ผ๋ property์ ๋ฐ์ดํฐ๊ฐ์ Stringํ์ด๊ณ , ๋๋จธ์ง 4๊ฐ์ property๋ Number์ด๋ค.
๐ ๊ฐ์ฒด ์ ์ธ, ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
var new = {
(property)name: (property๊ฐ),
(property)age: (property๊ฐ)
};
๐ ๊ฐ์ฒด๋ {}
์ค๊ดํธ๋ก ๊ฐ์ธ์ ธ ์๋ค.
๐ ์ฝ๋ก ( : )์ผ๋ก ์ด๋ฆ๊ณผ ๊ฐ๋ค์ด ๊ตฌ๋ถ๋๋ค.
๐ ์ผํ๋ก ๋ถ๋ฆฌ๋ ๋ชฉ๋ก์ ํํ์ด๋ค.
โ๏ธ ๊ฐ์ฒด๋ ์ด๋ฆ๊ณผ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ property๋ค์ ์งํฉ์ด๋ผ๊ณ ํ ์ ์๋ค.
person
์ด๋ผ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ณด์๋ฉด ๐๐
let person = {
name: "hoo",
age: 25,
hobby: "music"
};
โ๏ธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ๊ท์น
๐ property์ ์ด๋ฆ์ ์ค๋ณต๋ ์ ์๋ค.
๐ property ์ด๋ฆ๊ณผ property ๊ฐ ์ฌ์ด์ :
์ผ๋ก ๊ตฌ๋ถํ๋ค.
๐ property๋ฅผ ์ถ๊ฐํ ๋๋ย ,
ย (์ผํ)๋ฅผ ๋ถ์ฌ์ค๋ค.
๐ property ๊ฐ์๋ ์ด๋ type์ด๋ ๊ฐ๋ฅํ๋ค. (string, number, array, object, function..)
๐ ๊ฐ์ฒด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
1. ๊ฐ์ฒด์ด๋ฆ.ํ๋กํผํฐ์ด๋ฆ
2. ๊ฐ์ฒด์ด๋ฆ["ํ๋กํผํฐ์ด๋ฆ"]
๐ ๋ง์นจํ .
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ๋ง์นจํ ์ผ์ชฝ์๋ ๊ฐ์ฒด๋ช
์, ์ค๋ฅธ์ชฝ์๋ ํ๋กํผํฐ ๋ช
์ ์์ฑํ๋ค.
๐ ๋๊ณผ๋ก []
๋ฅผ ์ฌ์ฉํด์ ๋๊ดํธ ์ผ์ชฝ์๋ ๊ฐ์ฒด๋ช
์ ์ค๋ฅธ์ชฝ์๋ ํ๋กํผํฐ ๋ช
์ ์๋ฐ์ดํ์ ํจ๊ป ๋๊ดํธ ์์๋ค ์์ฑํ๋ค.
let person = {
name: "hoo",
age: 25,
hobby: "music"
};
console.log(person.name);
console.log(person["age"];
๐ฅ ๋๊ดํธ ์์๋ ๋ณ์๊ฐ ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
let myObj = {
property1: "hello",
property2: [1,2,3,4,5],
property3: {
childproperty: "haha"
}
};
๐ ํ๋กํผํฐ ์์
let name = "property1";
myObj[name] = ["hi", "hello"];
console.log(myObj);
โ๏ธ ๊ฐ์ฒด์ property1์ด ๋ฐฐ์ด๋ก ๋ฐ๋์๊ณ , ์ด ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์์์ ์ ๊ทผํ๊ณ ์ถ๋ค๋ฉด ๐
๐ console.log(myObj.property1[0]);
๐ฅ myObj.property1 ๋ ["hi", "hello"] ์ด๊ณ , index 0์ ์ ๊ทผํ์์ผ๋ฏ๋ก "hi" ๊ฐ ๋์ฌ ๊ฒ์
๋๋ค.
๐ ๊ฐ์ฒด์ property ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
myObj.property3.siblingproperty = [3, 6, 9];
console.log(myObj);
๐ ๊ฐ์ฒด์ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ๊ฐ์ฒด
let objData = {
name: 50,
address: {
email: "gaebal@gmail.com",
home: "์์ํฌ ์ ๋ฆ2ํธ์ "
},
books: {
year: [2019, 2018, 2006],
info: [{
name: "JS Guide",
price: 9000
}, {
name: "HTML Guide",
price: 19000,
author: "Kim, gae bal"
}]
}
};
๐ objData
ย ๋ผ๋ ๊ฐ์ฒด์์ย name
ย ,ย address
ย ,ย books
ย ๋ผ๋ property๊ฐ ์์ต๋๋ค.
books
ย ์ ๋ ๊ฐ์ฒด๊ฐ ํ ๋น ๋์๋ค์.
๐ "HTML Guide" ์ ์ ๊ทผํ๊ณ ์ถ์ ๋๋ ์๋์ ๊ฐ์ด ํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๐
let bookName = objData.books.info[1].name;
console.log(bookName);
let bookName = objData.book.info[1].name;
console.log(bookName);
๐ objData.book
ย ์ย objData
ย ๊ฐ์ฒด์ย book
ย ์ด๋ผ๋ property๋ช
์ property๊ฐ์ ๊ฐ์ ธ์์ผ ํ๋๋ฐ,
๐ฅํด๋น property๋ช
์ ์กด์ฌํ์ง ์๊ณ , ๊ฐ ๋ํ ์๊ธฐ ๋๋ฌธ์ ๐ย undefined
ย ๋ผ๊ณ ๋์ต๋๋ค.