객체는 이름과 값으로 구성된 프로퍼티들의 집합이며, 아래 규칙을 따라 객체를 만들 수 있다.
위 두 방식으로 특정 객체의 property 값에 접근할 수 있다.
대괄호 표현은 변수를 넣고 싶을 때 사용하면 좋다.
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;
이번 삽질은 Object 개념 보다는 변수 scope 설정과 관련이 있다. 함수가 복잡해지면서 전역변수를 놓치는 실수가 왕왕있다.
function getData(salesArr){ for (i=0; i < salesArr.length; i++){ let sumSalesAmount = 0; let salesAmount = salesArr[i][1]; sumSalesAmount = sumSalesAmount + salesAmount; } let objData = {sumAmount: sumSalesAmount}; return objData; }