3.2) 자료형(data type)
JavaScript의 변수는 값이 저장되는 순간 그 자료형이 결정된다. 다시 말해, JS의 변수는 내부적으로는 자료형을 저장하고 있다. JS의 자료형은 그 특성에 따라 기본 데이터 형식, 복합 데이터 형식, 특수 데이터 형식으로 나뉜다.
- 기본 데이터 형식
> Number
> String
> Boolean
- 복합 데이터 형식
> object
> Array
- 특수 데이터 형식
> Null
> Undefined
number, string과 boolean에 대해서는 이미 알고 있을 것이므로 object와 undefined에 대해 얘기해보자. object는JavaScript로 작성된 프로그램에 존재하는 모든 객체의 조상이다. number, string과 같은 기본 자료형을 제외하면, 우리는 C의 구조체와 같은 사용자 정의 자료형을 만들고, 만든 자료형의 인스턴스 또한 정의하고 사용할 수 있다. 이렇게 만든 모든 객체의 조상이 object가 되는 것이다. 잘 이해가 안 된다면 C++에서 int, double과 같은 기본 자료형을 빼고 모든 객체가 class object;라는 클래스를 상속하는 것처럼 이해하면 된다. 이에 대해서는 후에 다루겠다.
typeof 연산자를 이용하여 변수가 어떤 자료형을 가지고 있는지 확인할 수 있다. 다음을 보자.
datatype.htm |
alert(typeof(1234)); // 수치 값 1234: number 출력 alert(typeof("hello")); // 문자열 "hello": string 출력 alert(typeof(10==20)); // 부울 값 (10==20): boolean 출력 alert(typeof(undefined)); // undefined: undefined 출력 alert(typeof(null)); // null: object 출력 |
null의 경우 특수 데이터 형식이지만 typeof의 결과는 object를 반환함에 주의하라. 이와 같이 JS의 기본적인 자료형에 대해 알 수 있었다.