JS에서 객체를 모른다면 모든 값을 변수에 할당해서 필요할때마다 불러와야 한다.
그렇게되면 코드의 가독성을 해치고, 관리하기도 힘들어진다.
그래서 객체라는 개념이 필요하다.
(객체의 기본 구성)
let 객체이름 = {
key : value,
key : value,
key : value,
....
};
객체는 중괄호로 감싸져 있고, key와 value값으로 구성되어 있다.
콜론으로 구분되어 있고, 쉼표로 분리되어 있다.
객체는 이름인 key와 값인 value로 구성된 프로퍼티들의 집합인 것 이다.
또한 value값은 어느 데이터 타입이나 가능하다.
let plan1 = {
name : "Basic",
price : 3.99,
space : 100,
transfer : 100,
pages : 10
};
객체에 접근하려면 객체이름.key 또는 객체이름["key"]로 접근가능하다.
굳이 대괄호를 사용하는 것은 대괄호안에만 변수가 들어갈 수 있기 때문이다.
let plan1 = {
name: "Basic"
};
let propertyName = "name";
console.log(plan1[propertyName]);
이런식으로도 접근이 가능하다.
value값을 수정할수도 있다.
위의 plan1 객체를 선언한 후
let name = "name";
plan1[name] = ["hi", "hello"];
이런 식으로 값을 수정할 수 있다.
배열로 바뀌었기 때문에 배열의 인덱스에 접근하는 방법으로 "hi"만 접근할 수도 있다.
객체안에 객체와 배열도 계속 넣을 수 있다.
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"
}]
}
};
"HTML Guide"에 접근하는 방법.
let bookName = objData.books.info[1].name;