본문 바로가기
JavaScript & TypeScript

[자바스크립트 객체지향프로그래밍] 원시타입(p.48~57)

by 향로 (기억보단 기록을) 2015. 2. 5.
반응형
 

자바스크립트 원시 타입(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


반응형