반응형
자바스크립트의 데이터 타입
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 로 런타임 에러를 받는다.
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 로 런타임 에러를 받는다.
반응형