Javascript Variable
이번 Posting에서는 javascript의 data type에 대하여 정리할 것이다.
위와 같이 변수 선언을 하는데, x라는 변수가 어떤 data type을 갖을지 모르기 때문에 casting이 중요하다. casting에는 다음과 같이 2가지가 존재한다.
parseInt() 함수의 두 번째 파라미터는 진법을 나타낸다. 만약 적지 않는다면 1번째 파라미터가 문자열로 "010"이 들어왔다면 8진수 결과 값을 출력할 것이다.
참고) NaN은 숫자가 아닌 값, 무한의 표현은 Infinity, -Infinity
String
String은 2byte 유니코드 문자들의 연결 구조이다. Method 값은 경우는 java와 사용법이 같다. 또 javascript에는 값이 없음을 나타내는 Null, 그리고 값이 초기화되지 않았음을 나타내는 undefined 이 존재한다. 둘의 차이점은 null은 개발자가 의도적으로 비어 있는 값을 할당한 것이고, undefined는 애초에 어떤 값도 할당되지 않은 것을 나타낸다.
null과 undefined이 같은지 묻고 있다. null과 undefined는 특성은 같다고 할 수 있지만, 개발자의 의도가 있는지 없는지가 가장 큰 차이이다.
2 번째는 a를 선언을 하고 어떤 값도 할당하지 않은 경우 undefined와 같은지 비교하였다. 역시 true가 출력된다.
3 번째 b는 선언조차 하지 않았지만 javascript 엔진에서 선언되지 않은 변수에 대하여 undefined를 강제 할당한다.
4번째는 b는 선언되자 않은 변수이므로 error를 발생시킨다.
- 수 (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를 발생시킨다.