Maison >interface Web >js tutoriel >## Que fait l'opérateur Double Tilde (~~) en JavaScript ?

## Que fait l'opérateur Double Tilde (~~) en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 11:05:31778parcourir

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

Opérateur Double Tilde en JavaScript (~~)

En JavaScript, l'opérateur ~~ est un opérateur de coercition de type qui supprime tout après le point décimal d'un nombre. Cela diffère de l'opérateur ~, qui est un opérateur NOT au niveau du bit qui inverse les bits d'une valeur.

Opération

L'opérateur fonctionne en convertissant d'abord son opérande à un entier signé de 32 bits. Cela signifie que même si l’opérande est un nombre à virgule flottante ou une chaîne, il sera traité comme un entier en interne. L'opérateur effectue effectivement les opérations suivantes :

  • Si l'opérande est négatif, il arrondit à l'entier supérieur (Math.ceil).
  • Si l'opérande est positif, il arrondit au nombre entier inférieur (Math.floor).

Utilité

Alors que l'opérateur ~~ peut sembler être un simple remplacement de Math.floor ou Math.ceil, il a quelques limitations :

  • Cela peut entraîner un débordement si l'opérande est en dehors de la plage de -(2^31) à 2^31 - 1.
  • Il ne convient pas aux opérandes non entiers, car il ignore la partie décimale.

Par conséquent, il est généralement recommandé d'utiliser x (plus unaire) ou Number(x) pour la coercition de type, et Math.floor ou Math.ceil pour l'arrondi.

Exemple

Considérons le nombre -43.2 :

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

Comme vous pouvez le voir, ~~ arrondit vers zéro tandis que Math.floor arrondit vers le bas. Ce comportement peut être utile dans certains scénarios, comme par exemple tronquer un nombre sans utiliser de point décimal.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn