데이터 타입
ECMAScript의 데이터 타입은 Undefined, Null, Boolean, 숫자, 문자열 그리고 객체로 이루어져 있다. ECMAScript에서는 개발자 임의로 데이터 타입을 정의할 수 없으므로 모든 변수는 여섯 가지 타입 중 하나에 속한다고 할 수 있다.
typeof 연산자
변수에 typeof 연산자를 사용하면 다음 중 하나를 반환한다.
- 정의되지 않은 변수: “undefined”
- 불리언: “boolean”
- 문자열: “string”
- 함수를 제외한 객체 또는 null: “object”
- 함수: “function”
typeof 연산자는 변수의 데이터 타입을 알아낼 때 아래와 같이 사용한다.
1 | var message = "정일훈 mini album big wave 대박 각"; |
개인적으로 3 라인의 방식(typeof())을 선호한다.
Undefined 타입
자바스크립트는 변수 초기화를 지원한다. 변수를 선언했으나 별도의 초기화가 없었다면 undefined가 자동으로 할당된다.
1 | var message; |
Null 타입
null은 빈 객체를 가리키는 포인터이다. 변수를 초기화할 때 해당 변수가 객체를 가리키게 할 생각이라면 다른 문자 대신 null을 사용하는 것이 좋다.
1 | var car = null; |
null은 다음과 같은 상황에 사용된다.
1 | var car = null; |
car가 null이라면 객체가 비었다는 뜻이므로 조건에 부합하지 않는다. 고로, if(car != null)
의 의미는, 객체가 사용되었다면이 된다.
Boolean 타입
boolean 타입은 true, false 둘 중 하나의 리터럴 값을 갖는다. 이 값은 숫자와는 다르다. true는 1이 아니며, false는 0이 아니다. 할당 방법은 다음과 같다.
1 | var isOkay = true; |
boolean은 단 두 가지 값만 갖지만 ECMAScript에서는 모든 값을 불리언으로 표현할 수 있다. 값을 불리언으로 변환하려면 다음의 함수를 사용하면 된다.
1 | var message = "비투비 정규 2집은 언제 나오나요"; |
단, 값을 true, false로 변환하는 규칙은 데이터 타입과 값마다 다르다. 아래의 표를 참고하자.
데이터 타입 | true로 변환되는 값 | false로 변환되는 값 |
---|---|---|
불리언 | true | flase |
문자열 | 비어 있지 않은 모든 문자열 | “”(빈 문자열) |
숫자 | 0이 아닌 모든 숫자(무한대 포함) | 0, NaN |
객체 | 모든 객체 | null |
Undefined | 해당 없음 | undefined |
✯ 이 포스트의 모든 내용은 프론트엔드 개발자를 위한 자바스크립트 프로그래밍(인사이트) 책을 참고하여 작성되었습니다.