자바스크립트에서는 추상적 비교 연산인 == 키워드를 제공한다.
추상적 비교 연산을 이용하여 값을 비교한다면 의도치 않은 결과값을 반환할 수 있다.
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
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] visibilitychange 이벤트를 통해 세션 타임아웃 동기화하기 (0) | 2024.10.06 |
---|---|
[JavaScript] 변수 선언과 값 할당의 메모리 구조 (0) | 2022.08.26 |
[JavaScript] 호이스팅(hosting)의 이해 (0) | 2022.08.26 |
[JavaScript] 배열 내 특정 값 찾기 - find(), includes() ,Set 객체의 has() (0) | 2022.07.19 |
[JavaScript] Set 객체를 통해 배열 중복 제거 (0) | 2022.07.19 |