Javascript | datatype
모든 언어는 활용할 데이터의 자료형(data type) 을 가지고 있습니다. 자바스크립트가 가지고 있는 데이터의 형식이 어떻게 구성되어 있는지 살펴 보겠습니다.
원시 타입(primitive type)
숫자(number)
- 자바스크립트의 숫자는 정수와 실수의 구분이 없음
|
|
표현 가능 범위
1-9007199254740992(-2^53) ~ 9007199254740992(2^53)10진수, 16진수 정수 값을 인식합니다.(8진수는 허용 가능하지만 ECMAScript5의 엄격 모드에서는 금지)
부동소수점으로 실수를 표현 합니다.
기본적인 사칙연산
+, -, *, /
과나머지(%)
연산이 가능 합니다.(괄호()
를 통해 우선 순위를 지정할 수 있음)표현 가능 범위를 넘었을 경우(overflow) => infinity (or -infinity) 출력합니다.
표현할 수 있는 가장 작은 값보다 0에 가까울 때(underflow) => 0 (or -0) 출력합니다.
정상적인 값을 얻지 못할 때
NaN
를 출력합니다. (isNaN()
함수를 통해 확인 가능)
문자열(string)
자바스크립트는
유니코드
문자열 집합으로UTF-16
을 사용합니다.하나의 문자를 위한 타입은 존재하지 않습니다.
하나의 문자도 16비트 유니코드의 길이 1의 문자열 입니다.
문자열 표기는
""
,''
안에 문자를 넣습니다.(""
를 사용하는 것이 권장 됩니다.)
|
|
배열과 같지 않지만 프로퍼티인
lenth
과indexOf()
,concat()
등의 메서드를 수행할 수 있습니다.문자열은 변경되지 않고 메서드 수행 이후 새로운 값이 생성 됩니다.
부울린(boolean)
- 참(true) / 거짓(false) 값으로 리턴되는 값으로 보통 값을 비교하여 생성됩니다.
|
|
- AND 연산
&&
, OR 연산||
이 사용 가능합니다.
null / undefined
null : 값이 없을 때 리턴 됩니다. (
nil
로 표기 가능)undefined : 값이 없을 때 리턴 되는 것으로는 null 과 같습니다만 초기화 되어있지 않은 변수,만 존재하지 않는 객체 프로퍼티나 배열의 원소 를 호출 할 때 나타납니다.
읽기 전용으로서 타입이면서 값입니다.
|
|
- 어떠한 메서드나 프로퍼티를 가지고 있지 않습니다.
객체 타입(object type)
원시 타입 외 배열(array)
,함수(function)
, 정규 표현식(regExp)
은 모두 객체 입니다. 이 내용은 한 포스팅으로 담기에는 내용이 많으므로 후에 따로 다루기로 합니다.
자바스크립트의 데이터타입의 구성을 알아보았습니다. 다른 프로그래밍 언어하고 비교하면 데이터타입의 종류도 적고 타입시스템도 약한 편입니다만 타입의 구성을 잘 파악하고 프로그래밍 해야겠습니다.