왜 `0.5 | 0` JavaScript에서 0으로 평가하시겠습니까?

Mary-Kate Olsen
풀어 주다: 2024-10-27 05:28:30
원래의
499명이 탐색했습니다.

Why Does `0.5 | 0` Evaluate to 0 in JavaScript?

JavaScript의 비트 연산 탐색: ""|"의 흥미로운 사례

JavaScript에서 단일 파이프 문자 ""|" "는 비트 또는 연산을 나타냅니다. 이 연산자는 피연산자의 이진 표현에 대해 논리적 평가를 수행하고 피연산자 중 하나라도 해당 비트가 1로 설정된 경우 비트 위치가 1로 설정된 이진 값을 출력합니다.

이해하려면 이 연산자의 작동 방식을 살펴보겠습니다.

<code class="js">console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1</code>
로그인 후 복사

놀랍게도 0.5 | 0은 0으로 평가되는 반면, -1 | 0과 1 | 0은 모두 입력 정수를 반환합니다. 이는 JavaScript의 비트 연산 때문입니다. 0.5가 | 연산자에 전달되면 0으로 잘리고 0이 남게 되며 결과는 0이 됩니다.

반면에 -1과 1은 모두 정수입니다. 비트별 or 연산은 피연산자 중 하나에 해당 비트가 설정된 경우 해당 비트를 1로 설정합니다. -1과 1의 모든 비트가 1로 설정되어 있으므로 연산은 단순히 입력 정수를 반환합니다. -1 | 0은 -1을 반환하고 1 | 0은 1을 반환합니다.

본질적으로 단일 파이프 연산자는 비트 or 연산을 수행합니다. 이는 입력 중 하나에 해당하는 비트가 1로 설정된 경우 비트를 1로 설정합니다. 그러나 비트 연산은 정수에만 적용되므로 JavaScript 정수가 아닌 피연산자를 잘라내어 잠재적으로 연산 출력을 변경합니다.

위 내용은 왜 `0.5 | 0` JavaScript에서 0으로 평가하시겠습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!