반응형
자바스크립트 원시 타입(primitive data type)은 숫자, 문자열, boolean, undefined, null 이 있다.
이때 각각의 타입이 예상과는 다른 결과를 낼때가 있다.
1. 숫자
자바스크립트에서 숫자는 정수, 실수, 2진수에서 36진수까지 다양하게 표현가능하다.
console.log(typeof 255); //number : 10진수 console.log(typeof 255.0); //number : 실수 console.log(typeof 0377); //number : 8진수 console.log(typeof 0xff); //number : 16진수
여기까지는 너무나 당연한 이야기인데,
자바스크립트에서는 자동형변환 기능으로 인해서 문자열타입과 숫자 타입을 쉽게 오갈수 있다.
var temp = "2"; temp += 10; console.log("타입: "+typeof temp +" 결과값: "+temp); //문자열 + 숫자 = 문자 var temp = "2"; temp *= 10; console.log("타입: "+typeof temp +" 결과값: "+temp); //문자열 * 숫자 = 숫자
위 방법이 가장 쉬운 문자열<->숫자 형변환 방식이긴 한데, 이 같은 경우 자바스크립트를
처음 시작하는 분들이 코드의 의도를 파악하기가 어렵다. 협업해야하는 코드내에서는
위와 같은 코드 방식 보다는 좀 더 가독성이있고, 명시적인 형변환을 추천한다.
vvar temp2 = "2"; temp2 = Number(temp2); console.log(typeof temp2); //숫자형 number var temp2 = 2; temp2 = String(temp2); console.log(typeof temp2); //문자열 String
1-1. Infinity
자바스크립트에는 최대 숫자를 벗어나는 숫자를 표현하기 위해 Infinity(한글로 번역하면 무한대) 라고 하는 값이 정의되어 있다.
Infinity 는 그 정의에 맞게 타입이 number로 나온다.
Infinity는 최대 숫자를 벗어난걸 표현하고, 최소 숫자를 벗어날걸 표현하기 위해서는 -Infinity 로 작성하면 된다.
console.log(typeof Infinity); //number var infi = 1/0; console.log(typeof infi); //number var infi = -Infinity; console.log(typeof infi); //number
반응형
'Javascript' 카테고리의 다른 글
[읽기 좋은 자바스크립트 코딩 기법] 문장과 표현식(조건문과 반복문) (0) | 2015.02.23 |
---|---|
[자바스크립트 핵심가이드] 주석 (0) | 2015.02.06 |
[자바스크립트 객체지향프로그래밍] 원시타입(p.48~57) (0) | 2015.02.05 |
[자바스크립트 객체지향프로그래밍] 프로그램 실행단계(p.42~44) (0) | 2015.02.05 |
src 속성과 href 속성 사용 (0) | 2015.02.03 |
Style과 Class지정 (0) | 2015.01.31 |
댓글0