자바스크립트 강좌 2 - 데이터 타입값
Javascript 2012. 3. 7. 12:07
1. 숫자
1 - 1. 자바스크립트에서 모든 숫자는 64비트 실수 형식을 사용하여 표현한다.
1 - 2. 자바스크립트에서 10진수 정수는 숫자 시퀀스 형태로 작성된다. 따라서 -9007199254740992(-2에 53승)에서 900719925474099(2에 53승) 사이에 있는 모든 정수를 표현할 수 있다.
1 - 3. 자바스크립트는 16진수 값을 표현할 수 있다.
1 - 4. 자바스크립트는 부동소수점 리터널은 소수점을 가질 수 있다.
1 - 5. 자바스크립트 숫자변환 (자바스크립트는 숫자를 문자열 형식으로 변환하거나 문자열을 숫자로 변환할 수 있다)
1 - 6. 자바스크립트의 특수한 숫자 값 (자바스크립트에서는 몇 가지 특수한 숫자 값으로 표현된다.(Infinity, NaN))
- 예제 코드:
1. [1 - 2] 예제
2. [1 - 3] 예제
3. [1 - 4] 예제
4. [1 - 5] 예제
5. [1 - 6] 예제
2. 문자열
1. [2 - 1] 예제
2. [2 - 2] 예제
3. [2 - 3] 예제
4. [2 - 4] 예제
3. 불리언
1. [3 - 1] 예제
2. [3 - 2] 예제
4. 함수
1. [4 - 1] 예제
1. [4 - 2] 예제
5. 객체
1. [5 - 2] 예제
2. [5 - 3] 예제
6. 배열
2. [6 - 3] 예제
7. null
1. [7 - 1] 예제
8. undefined
- 예제 코드:
1. [1 - 2] 예제
-
alert(0) // 숫자 0
-
alert(3) // 숫자 3
-
alert(10000000000) // 숫자 10000000000
2. [1 - 3] 예제
-
alert(0xff); // 255(10진수)
3. [1 - 4] 예제
-
alert(3.14); // 부동소수점 3.14
-
alert(1.4738223E-32); // 1.4738223 ** 10 -32
4. [1 - 5] 예제
-
alert(typeof String(3.14)); // string
-
alert(typeof Number('3')); // number
5. [1 - 6] 예제
-
alert(parseInt('a', 10)); // 값이 숫자가 아닌 경우 NaN(Not a Number)
-
alert(1e309); // infinity (부동소수점 값으로 표현 가능한 한 가장 큰 유한 수보다 더 큰 값은 무한대를 나타내는 특수값(infinity)이 반환됩니다.)
-
alert(-1e309); // -infinity (부동소수점 값으로 표현 가능한 한 가장 작은 유한 수보다 더 작은 값은 무한대를 나타내는 특수 값(-infinity)이 반환됩니다.)
2. 문자열
2 - 1. 자바스크립트 문자열은 0개 또는 하나 이상의 Unicode 문자들이 작은따옴표(') 혹은 큰따옴표(")로 둘러싸인 시퀀스입니다.
2 - 2. 자바스크립트는 특별한 목적을 위해 역슬래시(\) 문자를 사용합니다.
2 - 3. 자바스크립트 문자열 조작
2 - 4. 숫자를 문자열로, 문자열을 숫자로 변환하기
- 예제 코드:
1. [2 - 1] 예제
-
alert('hello World'); // hello World
-
alert("hello World"); // hello World
2. [2 - 2] 예제
-
alert('hello\0World'); // hello<null 문자>World
-
alert('hello\nWorld'); // hello<줄바꿈>World
-
alert("hello\rWorld"); // hello<캐리지 리턴>World
-
alert("hello\"World"); // hello<큰따옴표>World
3. [2 - 3] 예제
-
// 문자열 합치기
-
var str = 'World';
-
alert('hello ' + str); // hello World
-
-
// 첫번째 문자 가져오기
-
alert(('hello ' + str).charAt(0)); // h
-
-
// 0에서 1 만큼 움직인 문자 가져오기
-
alert(('hello ' + str).substr(0, 1)); // h
-
-
-
// 문자열의 'h' 문자 위치 가져오기
-
alert(('hello ' + str).indexOf('h')); // 0
4. [2 - 4] 예제
-
// 숫자를 문자열로
-
alert(typeof String(4)); // string
-
-
// 문자열을 숫자로
-
alert(typeof Number('4')); // number
-
alert(typeof parseInt('4', 10)); // number
-
alert(typeof parseFloat('4.1')); // number
3. 불리언
3 - 1. 불리언 데이터 타입은 오직 2개의 값만을 가질 수 있다.
3 - 2. 불리언 타입 변환
- 예제 코드:
1. [3 - 1] 예제
-
alert('a' === 'a'); // true
-
alert('a'.constructor === 'a'.constructor); // true
-
alert(true); // true
-
alert(false); // false
2. [3 - 2] 예제
-
alert(Boolean('a' === 'a')); // true
-
alert(!!'a'); // false
4. 함수
4 - 1. 자바스크립트 프로그램에 정의되어 있거나 자바스크립트 구현에 미리 정의되어 있는
실행 가능한 코드.
실행 가능한 코드.
4 - 2. 함수 리터널
- 예제 코드:
1. [4 - 1] 예제
-
function fn(){
-
return this;
-
}
-
-
alert(typeof fn) // fucntion
1. [4 - 2] 예제
-
// 함수 리터널 문법 (아래와 같이 익명 함수를 프로그램 내에 리터널 형태로 포함 시킬 수 있다.)
-
-
var fn = function(){ return this; };
-
-
alert(typeof fn) // fucntion
-
-
// new 연산자와 Function 생성자 함수를 이용하여 함수객체를 생성합니다.(이 방법은 함수 몸체를 문자열로 표현하는 것이 불편하기 때문에 그리 유용하지 않은 방법이다)
-
var fn = new Function('', 'return this;');
-
-
alert(typeof fn) // fucntion
5. 객체
5 - 1. 객체는 이름 붙은 값(맴버)들의 모음입니다.
5 - 2. 객체 생성
5 - 3. 객체 리터널
- 예제 코드:
1. [5 - 2] 예제
-
// 객체 생성
-
-
var obj = new Object(
-
{
-
member1: 'member1',
-
member2: function(){
-
return this.member1;
-
}
-
});
-
-
alert(obj.member2()); // member1
-
-
var date = new Date();
-
alert(date.getDate()); // date
2. [5 - 3] 예제
-
// 객체 리터널
-
-
var obj =
-
{
-
member1: 'member1',
-
member2: function(){
-
return this.member1;
-
}
-
};
-
-
alert(obj.member2()); // member1
6. 배열
6 - 1. 배열은 객체처럼 데이터 값들의 모음입니다.
6 - 2. 객체 생성
6 - 3. 객체 리터널
- 예제 코드:
-
// 객체 생성
-
var arr = new Array([0]);
-
-
alert(arr[0]); // 0
2. [6 - 3] 예제
-
// 객체 리터널
-
var arr = [0]
-
-
alert(arr[0]); // 0
7. null
7 - 1. 자바스크립트 키워드 null은 아무런 값도 나타내지 않는 특수한 값이다. null은 보통 객체 타입의 특수한 값, 즉 어떠한 객체도 나타내지 않는 값으로 취급한다.
- 예제 코드:
1. [7 - 1] 예제
-
var obj = null;
-
-
obj = {};
-
-
alert(typeof obj); // object
8. undefined
8 - 1. 자바스크립트에서 종종 사용되는 또 다른 특수한 값으로 undefined 값이 있다. undefined는 선언은 되었지만, 값이 정의되지 않은 변수에 접근하거나 존재하지 않는 객체의 프로퍼티에 접근할 경우 반환되는 값이다.
- 예제 코드:
1. [8 - 1] 예제
-
// 선언은 되었지만 값이 정의되지 않은 변수에 접근
-
-
alert(x) // undefined
-
var x = 0;
- // 존재하지 않는 객체의 프로퍼티에 접근
-
-
var obj = {};
-
alert(obj.a); // undefined
참고서적: (자바스크립트 핵심 가이드)