Dev/JavaScript

JavaScript 자료형 (Datatype)

takeU 2021. 7. 5. 21:14
반응형

JavaScript 자료형

자바스크립트는 느슨한 타입 (loosely typed) 언어, 혹은 동적 (dynamic) 언어이다.
즉 변수의 타입을 미리 선언할 필요가 없다는 뜻이다.
타입은 프로그램이 처리되는 과정에서 자동으로 파악될 것이다.
또한 그 말은 같은 변수에 여러 타입의 값을 넣을 수 있다는 뜻이다.

 

Data Type 종류

ECMAScript6( ES6, ES2015 ) 기준으로 다음과 같은 자료형이 있다.

기본 자료형 ( Primitive )

  • Boolean
  • Null
  • Undefined
  • Number
  • String
  • Symbol (ECMAScript 6 에 추가됨)

위의 여섯가지에 객체 자료형까지 합치면 크게 7가지의 자료형이 있다.

 

기본 자료형 ( Primitive )

1. Boolean

boolean은 논리적 요소를 나타내며 true, false 두 가지 값을 가진다.
true, false를 작성할 때는 쌍따옴표( "" )없이 작성해야 한다.

2. null 과 undefined

null은 변수를 선언한 뒤에 null이라는 빈 값을 할당한 것이고,
undefined는 변수를 선언한 뒤에 값을 할당하지 않아 자료형이 정해지지 않은 상태이다.

null의 자료형은 primitive 타입인데 typeof null을 찍어보면 object가 나오게 된다.
이는 수정될 수 없는 버그인데, 보다 자세한 설명은 링크로 대체함

3. Number

정수형을 표현하는 자료형은 따로 존재하지 않고,
모든 숫자는 IEEE 754 값 ( 유효 범위: -(2^53 - 1) ~ (2^53 -1) ) 단 하나만 존재한다.
즉 64비트로 표현되며, 1비트는 부호, 11비트는 지수부, 52비트는 가수부를 나타낸다.
이외에도 특수값으로는 Infinity, -Infinity, NaN ( Not a Number ), -0 이 있고,
매우 작은 수를 나타내는 Number.EPSILON이 있다.

4. String

텍스트 데이터를 나타내는데 사용된다. 16비트 부호없는 정수 값 요소들의 집합
배열과 같이 index를 활용한 사용이 가능하다.

5. Symbol

생성시 마다 새로운 메모리 공간에 생성하기 때문에 고유한 값을 나타낼 때 사용된다.
사실 개발을 하면서 언제써야할지 잘 모르겠다.

 

객체 자료형 ( Object )

1. Normal Object

키(key)와 값(value)의 쌍으로 이루어져 있다.
키는 문자열 또는 심볼이고 값은 어떤 값이나 들어갈 수 있다.

2. Array

정수키를 가지는 일련의 값들을 표현하기 위한 Object이다.
리스트나 집합을 표현하는데 적합한 자료형이다.

3. Map

Object와 비슷하나, 다양한 타입으로 key를 정의할 수 있고,
순서가 보장된다.

4. Set

Array와 비슷하나, 중복값은 제거되는 특성이 있다.

5. function

함수는 일반 오브젝트에서 호출 가능한 특성을 추가한 오브젝트이다.

 

마무리

개인적으로 공부한 내용을 정리한 것이기 때문에 반말을 사용한 점 양해 부탁드립니다.
잘못된 부분이나 피드백이 있으시다면, 댓글에 남겨주시면 감사하겠습니다!