프린세스 다이어리

자바스크립트 숫자 타입 정리 본문

FE

자바스크립트 숫자 타입 정리

개발공주 2021. 12. 4. 22:55
728x90

1. 자바스크립트는 다른 언어와 달리 정수와 실수를 구분하지 않고 하나의 숫자 타입만 존재한다.

// 모두 숫자 타입
var integer = 10;
var double = 10.12;
var negative = -10;

 

2. 자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 별도의 데이터 타입을 제공하지 않기 때문에 모두 10진수로 해석된다.

var binary = 0b01000001; // 2진수
var octal = 0o101; // 8진수
var hex = 0x41; // 16진수

console.log(binary); // 65;
console.log(octal); // 65;
console.log(hex); // 65;
console.log(binary === octal;) // true
console.log(octal === hex); // true

 

3. 숫자 타입은 모두 실수로 처리된다. 

console.log(1 === 1.0) // true
console.log(0 === -0) // true

*특이한 점은 Object.is 메서드에서는 0과 -0을 다른 값으로 여긴다는 것이다. 자바스크립트 만세!

Object.is(0, -0) // false​

 

4. 숫자 타입에는 세 가지 특별한 값이 있다. Infinity, -Infinity, NaN이다.

console.log(10 / 0); // Infinity
console.log(10 / -0); // -Infinity
console.log(1 * "string"); // NaN

참고로 다음 표현식도 양수 Infinity와 음수 infinity로 평가된다. 

console.log(Math.min());    	// Infinity
console.log(Math.max());    	// -Infinity
console.log(Infinity);          // Infinity
console.log(Infinity + 1);      // Infinity
console.log(Math.pow(10,1000)); // Infinity
console.log(Math.log(0));       // -Infinity
console.log(1 / Infinity);      // 0
console.log(1 / 0);             // Infinity

 


 

인터넷에 돌아다니는 자바스크립트 밈.

728x90
Comments