"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ## ¿Qué hace el operador de doble tilde (~~) en JavaScript?

## ¿Qué hace el operador de doble tilde (~~) en JavaScript?

Publicado el 2024-11-17
Navegar:804

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

Operador de doble tilde en JavaScript (~~)

En JavaScript, el operador ~~ es un operador de coerción de tipo que elimina todo lo que está después del punto decimal de un número. Esto difiere del operador ~, que es un operador NOT bit a bit que invierte los bits de un valor.

Operación

El operador funciona convirtiendo primero su operando a un entero de 32 bits con signo. Esto significa que incluso si el operando es un número de punto flotante o una cadena, será tratado internamente como un número entero. El operador realiza efectivamente lo siguiente:

  • Si el operando es negativo, redondea al siguiente entero (Math.ceil).
  • Si el operando es positivo, se redondea hacia abajo al siguiente entero (Math.floor).

Utilidad

Si bien el operador ~~ puede parecer un simple reemplazo de Math.floor o Math.ceil, tiene algunas limitaciones:

  • Puede provocar un desbordamiento si el operando está fuera del rango de -(2^31) a 2^31 - 1.
  • No es adecuado para operandos no enteros, ya que ignora la porción decimal.

Por lo tanto, generalmente se recomienda usar x (más unario) o Número(x) para la coerción de tipo, y Math.floor o Math.ceil para redondear.

Ejemplo

Considere el número -43,2:

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

Como puede ver, ~~ redondea hacia cero mientras Math.floor redondea hacia abajo. Este comportamiento puede resultar útil en determinadas situaciones, como truncar un número sin utilizar un punto decimal.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3