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 중국어 웹사이트의 기타 관련 기사를 참조하세요!