0과 -0의 차이와 동등
ECMAScript 5.1 사양은 0과 -0을 구별하여 왜 0인지 의문을 제기합니다. === -0은 true로 평가됩니다.
IEEE 754 표준
JavaScript는 숫자 표현에 IEEE 754 표준을 사용합니다. IEEE 754에 따르면 부호 있는 0은 양의 0(0)과 음의 0(-0)을 허용합니다. 이러한 구별은 1/-0 = - 및 1/ 0 = 0과 같이 부동 소수점 연산에 필요합니다.
엄격한 동등 비교 알고리즘
기술적 어려움에도 불구하고 구별, 사양의 섹션 11.9.6은 0과 에 대한 엄격한 동등 비교 알고리즘의 동작을 명시적으로 정의합니다. -0:
논리적, 실천적 근거
논리적으로는 0과 -0을 동일하게 취급하는 것이 합리적입니다. 둘을 구별하면 특히 0으로 작업할 때 코드가 복잡해집니다.
Object.is 비교 방법
ES2015에서는 보다 정확한 비교를 위해 Object.is를 도입했습니다. Object.is는 0과 -0을 명시적으로 구분합니다.
Object.is(-0, +0); // false
위 내용은 왜 `0 === -0`은 JavaScript에서 True로 평가되지만 `Object.is(-0, 0)`는 False를 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!