자바스크립트의 데이터 타입

I.  원시 데이터 타입 (3가지)
   1. 숫자 (number)
       - 0, -1 ... , NaN
       - Wrapper 클래스는 Number

   2. 문자열 (string)
       - "" 으로 표현
       - Wrapper 클래스는 String 

   3. 불리언 (boolean)
       - true, false
       - Wrapper 클래스는 Boolean

II. 단순 데이터 타입 (2가지)
   1. null
       - 불리언 : false,  숫자 : 0, 문자열 : "null" 로 변환된다.

   2. undefined
       - 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하거나, 존재하지 않는 객체 프로퍼티에 접근할 경우
         반환되는  값이다.
       - 불리언 : false, 숫자 : NaN, 문자열 : "undefined" 로 변환된다.

   ※ 동등 연산자 (==) 을 사용하면 null 과 undefined 는 같은 값으로 간주한다.
       my.prop == null;
       이 비교는 my.prop 프로퍼티가 존재하지 않거나, 존재하기는 하지만 null 값인 경우 true로 평가된다.
       null 과 undefined 값을 구별할려면 일치 연산자 (===) 나 typeof 연산자를 사용하면 된다.

III. 객체 타입 (4가지)
   1. 일반 객체 (Object)
       - 생성방법 2가지 : new 연산자, 객체 리터럴
          . new  연산자
              var point = new Object();
              point.x = 1.2;
              point.y = 1.2;

          . 객체 리터럴
              var point = { x:1.2, y:1.2 };
             
              ※ 객체 리터럴 내에서 사용되는 프로퍼티는 상수, 변수, 자바스크립트 표현식 모두 사용할 수 있다.
                  객체 리터럴 내의 프로퍼티 이름으로 식별자 뿐만 아니라 문자열도 사용가능하다.
                  var square = { "upperLeft": { x:point.x, y:point.y },
                                       'lowerRight': { x:(point.x + side), y:(point.y + side) } };

   2. 배열 (Array)
       - 생성방법 2가지 : new Array() 연산자, 배열 리터럴
          . new Array() 연산자
              var array = new Array();
              array[0] = 1.2;
              array[1] = "Hello World";
              array[2] = true;
              array[3] = { x:1, y:3 };

          . 배열 리터럴
              var array = [ 1.2, "Hello World", true;, { x:1, y:3 } ];

              ※ 배열 리터럴 내 요소는 상수, 변수, 자바스크립트 표현식 모두 사용할 수 있다.
                  var i = 1;
                  var count = [ i, i+1, i+2; i+3 ];

   3. 함수 (function)
       - 함수는 사실 자체가 값이며 데이터의 타입은 아니다.
         그러므로 함수를 변수나 배열, 객체에 저장할 수 있으며 다른 함수의 전달인자로 넘겨줄 수 있다. 

       - 정의방법 2가지 : 일반 정의 문법, 함수 리터럴
          . 일반 정의 문법 : function 키워드 + 함수명 + (전달인자 혹은 매개변수)
             function square(x) {
                 return x * x;
             }

          . 함수 리터럴
             var square = function(x) { return x * x; }

       ※ 함수 리터럴은 자바스크립트 표현식 내에 나타낼 수 있다.

   4. 내장 객체 (Date, RegExp, Error)
       - Date 객체
          var now = new Data();
          var xmas = new Date(2011, 11, 25);  // 월은 0 부터 시작하므로 11 이 12월을 나타낸다. 

       - RegExp 객체
          . 정의방법 2가지 : new RegExp(), 정규 표현식 리터럴
             var re = new RegExp('+s', 'g');
             var re = /+s/g;

       - Error 객체
          . try ~ catch 로 런타임 에러를 받는다.      



Posted by Kubernetes Korea co-leader seungkyua@gmail.com