객체는 자바스크립트 데이터 타입 중의 하나이다.
영어로는 object라고 표현한다.
key값과 value값을 쌍으로 이루어져 있고, 배열과는 다르게 순서가 중요하지 않다.
예를 들어 다음과 같은 배열이 있다고 생각해보자
let person1 = ['곽철용', 'AB형', 'ENFP', '바닐라라떼']
위의 배열에는 특정 사람의 이름과 혈액형, MBTI, 좋아하는 커피에 대한 정보가 담겨있다.
우리가 원하는 정보를 얻기 위해서는 해당 배열에 있는 Index number를 기억해야 한다.
또 다른 사람이 있다고 생각해보자.
let person2 = ['아이스아메리카노', 'INTP', '홍혁팔', 'O형']
person2는 person1의 정보와 다른 순서로 값이 뒤섞여 있다.
사람이 두 명일 때는 괜찮지만, 100명이라면 어떻게 될까? 자료를 처리하기 힘들어질것이다.
그래서 나온 개념이 바로 객체이다.
Array에 데이터 하나하나를 요소라고 표현했다면 Object에서는 property라고 표현한다.
property는 Key와 Value로 이루어져있다.
객체를 생성할 때는 {} 안에 key와 value를 쌍으로 묶어서 만들어준다.
key값이 여러개일 때는 쉽표(,)로 구분해준다.
객체를 만드는 방법은 여러가지인데 그 중에 아래와 같이 중괄호를 이용해 만드는 방식을 Ovject Literal이라고 한다.
let person1 = {
name: '곽철용',
bloodType: 'AB형',
mbti: 'ENFP',
favoriteCoffee:'바닐라라떼'
}
Array에서도 배열 안에 배열을 만들 수 있었다.
let mySelf = [
'SeYoung',
'South Korea',
'Seoul',
25,
['비비', '들이']
]
같은 데이터를 object로 표현해보면
let mySelf = {
name: 'SeYoung',
location: {
country: 'South Korea',
city: 'Seoul'
},
age: 25,
cats: ['비비', '들이']}
그럼 mySelf를 한 번 출력해보자.
[object Object] {
age: 25,
cats: ["비비", "들이"],
location: [object Object] {
city: "Seoul",
country: "South Korea"
},
name: "SeYoung"
}
그렇다면 인덱스 없이 객체의 각각의 속성에 어떻게 접근 할 수 있을까?
객체로 표현하면 순서가 없기 때문에 index number를 기억하지 않아도 된다.
우리가 원하는 정보의 key값만 알면 정보에 접근할 수 있다!
다음 포스팅에서 이어서 알아보자.