최대 1 분 소요

데이터 타입

데이터 타입data type은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다.

자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시 타입primitive type객체 타입object/reference type으로 분류할 수 있다.

숫자 타입

자바스크립트는 독특하게 하나의 숫자 타입만 존재한다.

모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입integer type이 별도로 존재하지 않는다.

// 모두 숫자 타입이다.
var integer = 10; // 정수
var double = 10.12; // 실수
var negative = -20; // 음의 정수

정수, 실수, 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동소수점 형식의 2진수로 저장된다.

이들 값을 참조하면 모두 10진수로 해석된다.

문자열 타입

문자열string 타입은 텍스트 데이터를 나타내는 데 사용한다.

다른 타입의 값과 달리 문자열을 따옴표로 감싸는 이유는 키워드나 식별자 같은 토큰과 구분하기 위해서다.

만약 문자열을 따옴표 없이 쓴다면 자바스크립트 엔진은 키워드나 식별자 같은 토큰으로 인식한다.

var string = hello; // ReferenceError: hello is not defined

null 타입

프로그래밍 언어에서 null은 변수에 값이 없다는 것을 의도적으로 명시(의도적 부재intentional absence)할 때 사용한다.

심벌 타입

심벌symbol은 ES6에서 추가된 7번째 타입으로, 변경 불가능한 원시 타입을 갖는다. 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 따라서 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다.

이웅모, “모던 자바스크립트 Deep Dive”, 위키북스(2020), p59-73.

댓글남기기