본문 바로가기

프론트엔드/javascript

[javascript] 자바스크립트 객체(Object타입)란..?

ag grid 에서 지원하는 API를 사용하던 도중

콘솔로그에 값을 출력해보니 [Object Object] 라는 값이 출력되었다.

세부 내용을 꺼내보려 하다가 문득 객체이란 무엇인지 예전에 공부했던 내용을 기록하려 한다.

 

 


 

 

1. 객체란? (Object 란?)

객체란 여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입이며,

Key - Value 쌍을 저장할 수 있는 구조이다.

자바스크립트는 객체 기반 프로그래밍 언어이며, JS를 이루고 있는 대부분은 객체이다.

객체를 생성하면 하나의 값만 담을 수 있는 변수의 단점을 커버할 수 있다.

아래 예제를 적어보았다.

 

// 객체를 사용하지 않을 경우
let name = 'OhJeongMin'
let job = 'developer'
let rank = 1



// 객체를 사용할 경우
const info = {
   name: 'OhJeongMin',
   job: 'developer',
   rank: 1
}

 

 

객체는 keyvalue의 쌍으로 구성된다고 했다.

위 예시에서 const로 선언한 info 변수를 살펴보면,

name, job, rankkey가 되고, 해당 keyvalue의 주소값을 가지고있어

OhJeongMin, developer, 1의 값을 불러올 수 있으며 이 값을 value라고 한다.

 

 

 

 

2. 원시형과 객체형

원시형 / 객체형 차이를 설명하면 다음과 같다.

 

객체형

- 다양한 값을 하나의 단위로 구성한 복합적 자료구조이다.

- 객체는 변경 가능한 값이다.

 

원시형

- 단 하나의 값만을 나타낸다.

- 원시값은 변경 불가능한 값이다.

 

 

 

 

3. 원시형과 객체형 종류

- 객체의 종류는 다음과 같다.

  • 배열
  • 함수
  • 객체
  • 날짜
  • 정규표현식
  • new 키워드로 선언된 Boolean, 숫자, 문자열은 객체가 될 수 있음.

 

 

 

- JS에서 원시값을 제외한 모든 자바스크립트 값은 객체이며,

객체가 아닌 원시타입의 종류는 다음과 같다.

  • boolean
  • null
  • undefined
  • number
  • String

 

 


참고링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object