소년코딩

자바스크립트에서 기본 데이터 타입이라고 불리기도 하는 원시 데이터 타입은 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)

truefalse 값을 나타내는 불린값이다. (참과 거짓)

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 소년코딩

추천은 글쓴이에게 큰 도움이 됩니다.

악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.

댓글 로드 중…

블로그 정보

소년코딩 - 소년코딩

소년코딩, 자바스크립트, C++, 물리, 게임 코딩 이야기

최근에 게시된 이야기