Javascript Variable

 이번 Posting에서는 javascript의 data type에 대하여 정리할 것이다.

  • 수 (Number)
  • 문자열 (String)
  • 불린 (Boolean)
  • 널 (Null)
  • Undefined
  • 객체 (Object)
다시 객체는 여러가지 타입을 가지고 있다.
  • 함수 (Function)
  • 배열 (Array)
  • 날짜 (Date)
  • 정규식 (RegExp)
Number의 특징부터 차례로 보겠다.

Number
 javascript에서는 변수 선언을 할 때, data type을 명시하지 않는다.


1
var x = 1;

위와 같이 변수 선언을 하는데, x라는 변수가 어떤 data type을 갖을지 모르기 때문에 casting이 중요하다. casting에는 다음과 같이 2가지가 존재한다.


1
2
3
4
5
6
var x = 15.0;
var i = parseInt(x, 16);
> f
var y = 010.333;
var f = parseFloat(y);
> 10.333

parseInt() 함수의 두 번째 파라미터는 진법을 나타낸다. 만약 적지 않는다면 1번째 파라미터가 문자열로 "010"이 들어왔다면 8진수 결과 값을 출력할 것이다.

참고) NaN은 숫자가 아닌 값, 무한의 표현은 Infinity, -Infinity

String

String은 2byte 유니코드 문자들의 연결 구조이다. Method 값은 경우는 java와 사용법이 같다. 또 javascript에는 값이 없음을 나타내는 Null, 그리고 값이 초기화되지 않았음을 나타내는 undefined 이 존재한다. 둘의 차이점은 null은 개발자가 의도적으로 비어 있는 값을 할당한 것이고, undefined는 애초에 어떤 값도 할당되지 않은 것을 나타낸다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
console.log(null == undefined);
> true

var a;
console.log(a == undefined);
> true

console.log(typeof b);
> undefined

console.log(b == undefined);
> error

null과 undefined이 같은지 묻고 있다. null과 undefined는 특성은 같다고 할 수 있지만, 개발자의 의도가 있는지 없는지가 가장 큰 차이이다.

2 번째는 a를 선언을 하고 어떤 값도 할당하지 않은 경우 undefined와 같은지 비교하였다. 역시 true가 출력된다.

3 번째 b는 선언조차 하지 않았지만 javascript 엔진에서 선언되지 않은 변수에 대하여 undefined를 강제 할당한다.

4번째는 b는 선언되자 않은 변수이므로 error를 발생시킨다.





이 블로그의 인기 게시물

웹툰 무료로 볼 수 있는 사이트

BackJoon 1011, Fly me to the alpha centauri, 규칙 찾기 문제

BaekJoon 6591, 이항 쇼다운 조합문제