Data type : 값의 종류를 의미
C나 Java의 경우, 정수와 실수를 구분해서 int, long, float, double 등과 같은 다양한 숫자 타입 제공
하지만 Javascript는 독특하게 하나의 숫자 타입만 존재.
ECMAScript 상에 따르면 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따른다.
→ 모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않음.
정수, 실수, 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동소수점 형식으로 2진수로 저장된다.
Javascript는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 이들 값을 참조하면 모두 10진수로 해석된다.
var integer = 10; // 정수
var double = 10.12; // 실수
var negative = -20; // 음의 정수
var binary = 0b01000001; // 2진수, 65
var octal = 0o101; // 8진수, 65
var hex = 0x41; // 16진수, 65
console.log(binary === octal); // true
console.log(octal === hex); // true
자바스크립트의 숫자 타입은 정수만을 위한 타입이 없고, 모든 수를 실수로 처리한다고 했다.
console.log(1 === 1.0) // true
console.log(4 / 2); // 2
console.log(3 / 2); // 1.5