본문 바로가기

JavaScript

[JavaScript] 숫자 타입의 정수와 실수의 관계

자바스크립트에서는 추상적 비교 연산인 == 키워드를 제공한다.

추상적 비교 연산을 이용하여 값을 비교한다면 의도치 않은 결과값을 반환할 수 있다.

1 == '1' // true

 

의도치 않은 결과를 방지하기 위해 ES5에서는 보다 엄격한 비교 연산인 === 키워드를 제공한다.

1 === '1' // false

 

정수와 실수를 비교 연산하면 결과값은 true일까 false일까?

1 === 1.0 // true

 

자바스크립트에서 숫자 타입은 모두 실수로 처리되기때문에 정답은 true이다.

정수가 아닌 실수로 처리되기 때문에 정수끼리 나누기 연산을 하더라도 실수가 출력된다.

16/5 // 3.2

 

또한, 자바스크립트에서는 2진수, 8진수 16진수를 표현하기 위한 타입을 제공하지 않기 때문에 모두 10진수로 표현된다.

let bin = 0b10000;
console.log(bin);	// 16
let oct = 0o100;
console.log(oct);	// 16
let hex = 0x10;
console.log(hex);	// 16

 

반응형