"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > ## O que o operador Double Til (~~) faz em JavaScript?

## O que o operador Double Til (~~) faz em JavaScript?

Publicado em 17/11/2024
Navegar:728

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

Operador Til Duplo em JavaScript (~~)

Em JavaScript, o operador ~~ é um operador de coerção de tipo que remove tudo após o ponto decimal de um número. Isso difere do operador ~, que é um operador NOT bit a bit que inverte os bits de um valor.

Operação

O operador funciona primeiro convertendo seu operando para um inteiro assinado de 32 bits. Isso significa que mesmo que o operando seja um número de ponto flutuante ou uma string, ele será tratado internamente como um número inteiro. O operador efetivamente executa o seguinte:

  • Se o operando for negativo, ele arredonda para o próximo número inteiro (Math.ceil).
  • Se o operando for positivo, ele arredonda para o próximo número inteiro (Math.floor).

Utilidade

Enquanto o ~~ operador pode parecer um substituto simples para Math.floor ou Math.ceil, ele tem algumas limitações:

  • Pode resultar em overflow se o operando estiver fora do intervalo de -(2^31) a 2^31 - 1.
  • Não é adequado para operandos não inteiros, pois ignora a parte decimal.

Portanto, geralmente é recomendado para usar x (mais unário) ou Number(x) para coerção de tipo e Math.floor ou Math.ceil para arredondamento.

Exemplo

Considere o número - 43,2:

  • ~~(-43,2) = -43
  • Math.floor(-43,2) = -44

Como você pode ver, ~~ arredonda para zero enquanto Math.floor arredonda para baixo. Esse comportamento pode ser útil em determinados cenários, como truncar um número sem usar um ponto decimal.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3