자바스크립트에서 기본 데이터 타입이라고 불리기도 하는 원시 데이터 타입은 5가지가 있다.
number
string
boolean
undefined
null
1. number (숫자)
자바스크립트에서는 모든 숫자를 64비트 부동 소수점 형태로 저장하는 하나의 숫자형 number
만 존재한다.
var intNum = 10; // 정수
var floatNum = 7.4; // 실수
typeof intNum; // 'number'
typeof floatNum; // 'number'
정수, 실수 모두 타입이 number
이다.
자바스크립트에서는 진정한 정수가 없으며, '정수'는 부동 소수점이 값이 없는 값이다.(ex 10은 10.0과 같다.)
var num = 5 / 2;
console.log(num); // 2.5
정수형이 따로 없고, 모든 숫자를 실수로 처리하므로 나눗셈 연산을 할 때는 주의해야 한다.
숫자형 값 중에 NaN이라는 특별한 값이 있다.
이 값은 수치 연산을 해서 정산적인 값을 얻지 못할 때 반환하는 값이다. NaN은 어떤 값과도 일치하지 않으며, 심지어 NaN끼리도 일치하지 않는다.
자바스크립트에서는 isNaN()이라는 함수를 지원하며 NaN값을 확인할 수 있다.
var num = 7 - "oppa";
console.log(num); // NaN
num === NaN // false
isNaN(num); // true
2. string (문자열)
자바스크립트에서는 C언어의 char 타입과 같이 문자 하나만을 별도로 나타내는 데이터 타입은 존재하지 않는다.
var char = 'o';
var str = 'oppa';
typeof char; // 'string'
typeof str; // 'string'
한 개의 문자는 길이가 1인 문자열이다.
var str = 'oppa';
var arr = ['o', 'p', 'p', 'a'];
str // "oppa"
arr // ["o", "p", "p", "a"]
문자열을 문자의 배열이라고 생각할지도 모르지만, 자바스크립트 문자열은 생김새만 비슷할 뿐, 문자배열과 같지 않다.
var str = 'oppa';
str.length // 4
str.indexOf( 'o' ); // 0
var str2 = str.concat('coding'); // 'oppacoding'
배열과 생김새가 비슷하므로 length 프로퍼티, indexOf() 메서드, concat() 메서드등을 가진다.
또한 자바스크립트에서 문자열은 불변 값이다.
var str = 'oppa';
str[0] // 'o'
str[0] = 'a';
console.log(str); // 'oppa'
str[0]처럼 문자열의 특정 문자에 접근하는 형태는 자바스크립트 엔진에서 유효하지 않다.
변수에 저장된 문자열을 수정할려면 기존의 문자열을 파괴하고 해당 변수에 새 문자열을 채워야 한다.
var str = 'oppa';
var str2 = str.toUpperCase(); // 'OPPA'
str === str2 // false
문자열은 불변 값이므로 문자열 메서드는 그 내용을 바로 변경하지 않고 항상 새로운 문자열을 생성한 후 반환한다.
3. boolean (true, false)
true
와 false
값을 나타내는 불린값이다. (참과 거짓)
var t = true;
var f = false;
typeof t; // boolean
typeof f; // boolean
4. undefined와 null
이 두 타입은 모두 자바스크립트에서 "값이 비어있음"을 나타낸다.
변수를 선언하면 먼저 undefined
값이 할당되며, 값이 할당(초기화)되지 않은 변수는 계속 undefined
다.
undefined 타입의 변수는 변수 자체의 값 또한 undefined 이므로 즉, undefined
는 타입이자 값이다.
var a = 1;
위 코드에서 변수 a는 먼저 undefined로 정의되고 코드를 실행하는 단계에서 다시 1로 초기화된다.
console.log(b); // undefined
var b = 37;
console.log(b); // 37
아직 값을 할당하지 않은 상태에서 해당 변수를 사용하려고 하면 undefined가 반환된다.
null
타입 또한 null
이란 값 하나뿐이다.
보통 명시적으로 "비어있음"을 나타내는데 사용한다.
var a = null;
console.log(a); // null
typeof a; // "object" => 자바스크립트 03. 데이터 타입 참고
by 소년코딩
추천은 글쓴이에게 큰 도움이 됩니다.
악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.