>  기사  >  웹 프론트엔드  >  JavaScript의 이중 기울기 연산자(~~)는 무엇이며 Math.floor()와 어떻게 비교됩니까?

JavaScript의 이중 기울기 연산자(~~)는 무엇이며 Math.floor()와 어떻게 비교됩니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 09:05:02228검색

What is the Double Tilded Operator (~~) in JavaScript and How Does It Compare to Math.floor()?

JavaScript의 이중 기울임 연산자(~~)

질문:

특정 코드에서 샘플에서 "이중 물결표"(~~) 연산자가 발견되었습니다. 그 목적은 무엇이며 Math.floor() 함수와 어떻게 다른가요?

답변:

~~ 연산자는 이중 비트 NOT 연산자입니다. Math.floor() 함수보다 더 빠르고 양수 결과를 제공합니다.

이중 비트 NOT 연산은 숫자를 32비트 정수로 변환한 다음 비트 NOT 연산자(~)를 두 번 적용합니다. 결과 값은 다음과 같습니다.

~~x = -(~~~x + 1)

~ 연산자는 비트 패턴에서 0과 1을 뒤집기 때문에 ~~ 연산은 양수의 소수 부분을 0 방향으로 잘라 효과적으로 제거합니다.

Math.floor() 함수와의 차이점:

는 양수에 대해 Math.floor()를 더 빠르게 대체하는 데 사용할 수 있지만 음수에 대해서도 동일한 결과가 나타납니다. 단순히 소수 부분을 잘라내는 반면 Math.floor()는 가장 가까운 정수로 내림합니다.

예:

console.log(~~2.3); // Output: 2 (equivalent to Math.floor(2.3))
console.log(~~-2.3); // Output: -2 (different from Math.floor(-2.3) which equals -3)

위 내용은 JavaScript의 이중 기울기 연산자(~~)는 무엇이며 Math.floor()와 어떻게 비교됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.