🦎 JavaScript

[JS] 개체(Objects)

하나둘세현 2023. 2. 27. 22:39
728x90

개체(Objects)

또 다른 데이터 구조이다. 배열을 데이터 구조로 사용해왔다. 배열은 같은 변수에 다수의 관련 값을 저장하기 위해서이다.

const jonasArray = [
  "Jonas", //이름
  "Schmedtmann", //성
  2037 - 1991, //나이
  "teacher", //직업
  [("Michael", "Peter", "Steve")], //배열안에 배열
];

 [("Michael", "Peter", "Steve")] ← 배열안에 배열이 있다. 여러 값을 결합한 데이터 구조이다. 

배열에서는 이 요소들에 이름을 줄 방법이 없다. 그래서 이름으로 참조가 안되고 배열에 있는 주문 번호로만 참조할 수 있다. 

 

그 문제를 해결하기 위해서는??

그래서 개체가 있는 것이다. (놀랍도다..)

 

● 개체에서 키 값을 쌍으로 정의한다. (define key value pairs) 그런 다음 각각의 값에 이름을 줄 수 있다. 

 

const jonas = {
  
};

Jonas라고 변수를 정의했다. 이건 실제 객체이다. 이제 배열은 중괄호나 대괄호를 사용한다. 

(중괄호는 코드 블록에서 정의하는 것을 봤었다. ifelse문, switch문, 함수, 본체를 정의할 때 등등 그러나 이건 다르다. )

여기서의 중괄호는 새 개체를 정의하기 위함이다. 이제 이 개체를 키 값 쌍으로 채워보겠다. 

핵심은 기본적으로 변수이름이다. 

const jonas = {
  firstName: "Jonas"
};

fristName 다음에 콜론, 그리고 값을 넣는다.

값은 원하는 어떤 형식으로 될 수 있다. 또 다른 키 값 쌍을 정의하려면 배열처럼 쉼표로 구분하면 된다. 

 

const jonas = {
  firstName: "Jonas",
  lastName: "Schmedtmann",
  age: 2037 - 1991,
  job: "teacher",
  friends: [("Michael", "Peter", "Steve")],
};

5개의 키 값 쌍을 가진 개체가 생겼다.  5개의 키에는 각 값이 있다. 각각 값에 이름을 할당할 수 있다. 배열로는 불가능했던게 가능해졌다! 각각의 핵심은 속성이다. 

Jonas라고 불리는 이 객체는 5개의 속성이 있다. 개체는 JS언어 전체에서 가장 근본적인 개념이다. 개체를 만드는 방법은 여러가지가 있다. 이렇게 코드에 개체를 작성하는게 개체를 만드는 가장 간단한 방법이다. 

 

개체를 만드는 방법은 여러가지가 있다. 

이렇게 코드에 개체를 작성하는 게 개체를 만드는 가장 간단한 방법이다. 중괄호를 이용해서 작성하는게 제일 쉽다. 이것을 개체 리터럴 구문이라고도 한다. 말 그대로 개체 콘텐츠를 전부 쓰는 거다. 

 

요약하면 배열과 마찬가지로 Jonas의 속성 같은 다른 변수들을 개체로 분류하는 데 객체를 사용했다. 

📢 객체와 배열의 큰 차이점개체의 경우 리턴할 때 이 값들의 순서는 전혀 중요하지 않다는 것이다. (속성 이름 자체를 이용해 개체로 부터 속성을 얻기때문에 중요하지 않다.)

요소들을 명시하는 순서가 배열에서 가장 중요하다. 그렇게 요소들에 접근하니까 말이다. 주문 번호를 이용해 배열 요소에만 접근할 수 있따. 즉 배열을 더 많은 주문 데이터에 사용하고 객체는 비구조적인 데이터에 사용해야한다.  우리가 이름을 붙이길 원하는 데이터 역시도 말이다 그 이름에 근거해 개체에서 검색한다. 

 

과연 객체로 부터 어떻게 데이터를 얻을 수 있을까? 

To Be Continue...☆

728x90