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