JavaScript/생활코딩

자바스크립트 기본 - 데이터 타입

점미 2018. 12. 12. 11:01



데이터 타입 - https://opentutorials.org/course/743/6579





원시 데이터 타입


데이터 타입이란 데이터의 형태를 의미한다. 

데이터 타입은 크게 두가지로 구분할 수 있다. 

객체와 객체가 아닌 것. 그럼 객체가 아닌 것은 무엇일까?


숫자

문자열

불리언(true/false)

null

undefined


객체가 아닌 데이터 타입을 원시 데이터 타입(primitive type)이라고 한다. 그 외의 모든 데이터 타입들은 객체다. 








래퍼객체


원시 데이터 형을 객체처럼 다룰 수 있도록 하기 위한 객체를 자바스크립트는 제공하고 있는데 그것이 레퍼객체(wrapper object)다.


아래는 문자열을 객체처럼 사용할 수 있는 예제이다.


var str = 'coding';

console.log(str.length);        

// 6, str = new String('coding'); 이런 객체가 있는 것과 같은 작업이 1행과 2행 사이에 임시적으로 생긴다. 그래서 문자열인 str도 객체처럼 사용할 수 있게된다. 

console.log(str.charAt(0));     // "C"




아래는 문자열이 객체처럼 사용했다가 다시 원시데이터로 돌아간것을 확인 할 수 있는 예제이다.


var str = 'coding';

str.prop = 'everybody';   //2행이 끝나면 객체를 제거하고 원래의 원시데이터 타입으로 변경한다.

console.log(str.prop);      // undefined






원시데이터 타입의 래퍼객체는 아래와 같다. null, undefined는 래퍼객체가 없다.


숫자                     -> Number

문자열                  -> String

불리언(true/false)   -> Boolean

null                      -> X

undefined              -> X