자바스크립트 강좌 2 - 데이터 타입값




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] 예제 


  1. alert(0) // 숫자 0
  2. alert(3) // 숫자 3
  3. alert(10000000000) // 숫자 10000000000


2. [1 - 3] 예제


  1. alert(0xff); // 255(10진수)


3. [1 - 4] 예제


  1. alert(3.14); // 부동소수점 3.14
  2. alert(1.4738223E-32); // 1.4738223 ** 10 -32

4. [1 - 5] 예제


  1. alert(typeof String(3.14)); // string
  2. alert(typeof Number('3')); // number

5. [1 - 6] 예제


  1. alert(parseInt('a', 10)); // 값이 숫자가 아닌 경우 NaN(Not a Number)
  2. alert(1e309); // infinity (부동소수점 값으로 표현 가능한 한 가장 큰 유한 수보다 더 큰 값은 무한대를 나타내는 특수값(infinity)이 반환됩니다.)
  3. alert(-1e309); // -infinity (부동소수점 값으로 표현 가능한 한 가장 작은 유한 수보다 더 작은 값은 무한대를 나타내는 특수 값(-infinity)이 반환됩니다.)




2. 문자열



2 - 1. 자바스크립트 문자열은 0개 또는 하나 이상의 Unicode 문자들이 작은따옴표(') 혹은 큰따옴표(")로 둘러싸인 시퀀스입니다.

2 - 2. 자바스크립트는 특별한 목적을 위해 역슬래시(\) 문자를 사용합니다.

2 - 3. 자바스크립트 문자열 조작

2 - 4. 숫자를 문자열로, 문자열을 숫자로 변환하기


- 예제 코드: 


1. [2 - 1] 예제


  1. alert('hello World'); // hello World
  2. alert("hello World"); // hello World


2. [2 - 2] 예제


  1. alert('hello\0World'); // hello<null 문자>World
  2. alert('hello\nWorld'); // hello<줄바꿈>World
  3. alert("hello\rWorld"); // hello<캐리지 리턴>World
  4. alert("hello\"World"); // hello<큰따옴표>World


3. [2 - 3] 예제


  1. // 문자열 합치기
  2. var str = 'World';
  3. alert('hello ' + str); // hello World
  4.  
  5. // 첫번째 문자 가져오기
  6. alert(('hello ' + str).charAt(0)); // h
  7.  
  8. // 0에서 1 만큼 움직인 문자 가져오기
  9. alert(('hello ' + str).substr(0, 1)); // h
  10.  
  11.  
  12. // 문자열의 'h' 문자 위치 가져오기
  13. alert(('hello ' + str).indexOf('h')); // 0


4. [2 - 4] 예제


  1. // 숫자를 문자열로
  2. alert(typeof String(4)); // string
  3.  
  4. // 문자열을 숫자로
  5. alert(typeof Number('4')); // number
  6. alert(typeof parseInt('4', 10)); // number
  7. alert(typeof parseFloat('4.1')); // number




3. 불리언



3 - 1. 불리언 데이터 타입은 오직 2개의 값만을 가질 수 있다.

3 - 2. 불리언 타입 변환

- 예제 코드: 



1. [3 - 1] 예제


  1. alert('a' === 'a'); // true
  2. alert('a'.constructor === 'a'.constructor); // true
  3. alert(true); // true
  4. alert(false); // false


2. [3 - 2] 예제


  1. alert(Boolean('a' === 'a')); // true
  2. alert(!!'a'); // false




4. 함수


4 - 1. 자바스크립트 프로그램에 정의되어 있거나 자바스크립트 구현에 미리 정의되어 있는
실행 가능한 코드.

4 - 2. 함수 리터널

- 예제 코드: 



1. [4 - 1] 예제


  1. function fn(){
  2.     return this;
  3. }
  4.  
  5. alert(typeof fn) // fucntion


1. [4 - 2] 예제


  1. // 함수 리터널 문법 (아래와 같이 익명 함수를 프로그램 내에 리터널 형태로 포함 시킬 수 있다.)
  2.  
  3. var fn = function(){ return this; };
  4.  
  5. alert(typeof fn) // fucntion
  6.  
  7. // new 연산자와 Function 생성자 함수를 이용하여 함수객체를 생성합니다.(이 방법은 함수 몸체를 문자열로 표현하는 것이 불편하기 때문에 그리 유용하지 않은 방법이다)
  8. var fn = new Function('', 'return this;');
  9.  
  10. alert(typeof fn) // fucntion




5. 객체


5 - 1. 객체는 이름 붙은 값(맴버)들의 모음입니다.

5 - 2. 객체 생성

5 - 3. 객체 리터널

- 예제 코드: 



1. [5 - 2] 예제


  1. // 객체 생성
  2.  
  3. var obj = new Object(
  4. {
  5.     member1: 'member1',
  6.     member2: function(){
  7.         return this.member1;
  8.     }
  9. });
  10.  
  11. alert(obj.member2()); // member1
  12.  
  13. var date = new Date();
  14. alert(date.getDate()); // date



2. [5 - 3] 예제


  1. // 객체 리터널
  2.  
  3. var obj =
  4. {
  5.     member1: 'member1',
  6.     member2: function(){
  7.         return this.member1;
  8.     }
  9. };
  10.  
  11. alert(obj.member2()); // member1




6. 배열


6 - 1. 배열은 객체처럼 데이터 값들의 모음입니다.

6 - 2. 객체 생성

6 - 3. 객체 리터널

- 예제 코드: 


  1. // 객체 생성
  2. var arr = new Array([0]);
  3.  
  4. alert(arr[0]); // 0


2. [6 - 3] 예제


  1. // 객체 리터널
  2. var arr = [0]
  3.  
  4. alert(arr[0]); // 0




7. null


7 - 1. 자바스크립트 키워드 null은 아무런 값도 나타내지 않는 특수한 값이다. null은 보통 객체 타입의 특수한 값, 즉 어떠한 객체도 나타내지 않는 값으로 취급한다.

- 예제 코드: 



1. [7 - 1] 예제


  1. var obj = null;
  2.  
  3. obj = {};
  4.  
  5. alert(typeof obj); // object




8. undefined


8 - 1. 자바스크립트에서 종종 사용되는 또 다른 특수한 값으로 undefined 값이 있다. undefined는 선언은 되었지만, 값이 정의되지 않은 변수에 접근하거나 존재하지 않는 객체의 프로퍼티에 접근할 경우 반환되는 값이다.

- 예제 코드: 

 
1. [8 - 1] 예제


  1. // 선언은 되었지만 값이 정의되지 않은 변수에 접근
  2.  
  3. alert(x) // undefined
  4. var x = 0;
  1. // 존재하지 않는 객체의 프로퍼티에 접근
  2.  
  3. var obj = {};
  4. alert(obj.a); // undefined


참고서적: (자바스크립트 핵심 가이드)