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
함수는 일반 오브젝트에서 호출 가능한 특성을 추가한 오브젝트이다.
마무리
개인적으로 공부한 내용을 정리한 것이기 때문에 반말을 사용한 점 양해 부탁드립니다.
잘못된 부분이나 피드백이 있으시다면, 댓글에 남겨주시면 감사하겠습니다!