Object 를 사용하는 이유는 가능한 데이터를 잘 정리하기 위함이다.
나아가 Array로는 부족하기 때문에 사용하는 것이다.
Arrary 로 부족한 이유는, 이것이 적합하지 않은 이유는
배열로는 각 원소, 숫자, 문자열, true/false 가 무엇을 의미하는지 나타나지 않기 때문이다.
(주석을 사용하면 어떻게 저떻게 표현할 수 있겠지만 쉽지 않을 것이다.)
그래서 Object라는, 객체라는 개념이 탄생한 것이고 사용하는 것이다.
사용법은 배열의 [] 대괄호와 달리 {} 중괄호를 사용하는 것이다.
배열에서는 안에 들어가는 값들이 Element(요소,원소)라고 불린다.
객체에서는 안에 들어가는 값들을 Property(특성)이라고 부른다.
또한 중괄호{} 안에서의 규칙은 밖과 다른데 무슨 말이냐면
'=' 등호를 할당 문자를 사용하지 않는다
':' 대신에 따옴표를 할당 문자로 사용한다.
그리고 Object(객체) 하나의 Property(특성)을 작성하고 난 뒤에는 ','를 사용한다.
마찬가지로 우리가 흔히 사용하는 console.log 의 console 도 Object 이다 log은 console 이란 객체의 하나의 Property이고.
player 라고 선언된 객체의 name 이라고 선언된 프로퍼티에 접근할때는 두가지 방법이 있다.
player.name
player.["name"]
마찬가지로 constant 로 선언된 객체를 재할당 수는 없지만 안의 프로퍼티를 업데이트 하거나 추가 할 수는 있다.
새로운 프로퍼티를 추가하거나 기존의 할당된 값을 업데이트 해주는 방법은 단순히 원하는 프로퍼티 명에다가 값을 재할당 해주면 된다.
player.hp = 100
Object 는 property 를 가진 data를 저장하도록 해준다.
Array 의 한계를 극복했기에 사용하는 의의가 있다.
배열의 경우에는 배열의 변수명을 통해 알 수 있다.
예를 들어 장볼목록 이라고 하면 안에 든 문자열들은 다 장볼 목록이라는 걸 알 수 있을 것이다.
하지만 게임 플레이어의 정보를 담는 다고 했을때는 단순히 나열된 숫자와 문자, 부울대수로는 그 의미를 알 수가 없을 것이다.
그렇기에
Object 라는 개념을 가져와 안에는 설명(Property, 특성)과 값을 매치시켜 저장하여 우리가 옆에 설명을 붙여야만 의미를 가지는 정보들이 담기로 한 것이다.