>  기사  >  웹 프론트엔드  >  ## JavaScript에서 이중 물결표 연산자(~~)는 무엇을 합니까?

## JavaScript에서 이중 물결표 연산자(~~)는 무엇을 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-25 11:05:31699검색

## What Does the Double Tilde Operator (~~) Do in JavaScript?

JavaScript의 이중 물결표 연산자(~~)

JavaScript에서 ~~ 연산자는 뒤에 있는 모든 내용을 제거하는 유형 강제 연산자입니다. 숫자의 소수점. 이는 값의 비트를 반전시키는 비트 NOT 연산자인 ~ 연산자와 다릅니다.

연산

연산자는 먼저 비트를 변환하여 작동합니다. 부호 있는 32비트 정수에 대한 피연산자입니다. 즉, 피연산자가 부동 소수점 숫자이거나 문자열이더라도 내부적으로는 정수로 처리됩니다. 연산자는 다음을 효과적으로 수행합니다.

  • 피연산자가 음수이면 다음 정수(Math.ceil)로 반올림됩니다.
  • 피연산자가 양수이면 다음 정수(Math.floor)로 내림됩니다.

유용성

~~ 연산자는 Math.floor를 간단히 대체하는 것처럼 보일 수 있습니다. 또는 Math.ceil에는 몇 가지 제한 사항이 있습니다.

  • 피연산자가 -(2^31) ~ 2^31 - 1 범위를 벗어나면 오버플로가 발생할 수 있습니다.
  • 소수점 부분을 무시하므로 정수가 아닌 피연산자에는 적합하지 않습니다.

따라서 일반적으로 유형 강제 변환에는 x(단항 더하기) 또는 숫자(x)를 사용하는 것이 좋습니다. 반올림을 위한 Math.floor 또는 Math.ceil

숫자 -43.2를 고려하세요.

  • ~~(-43.2) = -43
  • Math.floor(-43.2) = -44

보시다시피 ~~는 0으로 반올림되고 Math.floor는 반내림됩니다. 이 동작은 소수점을 사용하지 않고 숫자를 자르는 등의 특정 시나리오에서 유용할 수 있습니다.

위 내용은 ## JavaScript에서 이중 물결표 연산자(~~)는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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