„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > ## Was macht der Doppel-Tilde-Operator (~~) in JavaScript?

## Was macht der Doppel-Tilde-Operator (~~) in JavaScript?

Veröffentlicht am 17.11.2024
Durchsuche:546

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

Doppelter Tilde-Operator in JavaScript (~~)

In JavaScript ist der ~~-Operator ein Typerzwingungsoperator, der alles nach dem entfernt Dezimalpunkt einer Zahl. Dies unterscheidet sich vom ~-Operator, bei dem es sich um einen bitweisen NOT-Operator handelt, der die Bits eines Werts invertiert.

Operation

Der -Operator funktioniert, indem er zunächst seine Werte umwandelt Operanden zu einer vorzeichenbehafteten 32-Bit-Ganzzahl. Dies bedeutet, dass selbst wenn der Operand eine Gleitkommazahl oder eine Zeichenfolge ist, er intern als Ganzzahl behandelt wird. Der Operator führt effektiv Folgendes aus:

  • Wenn der Operand negativ ist, wird auf die nächste Ganzzahl aufgerundet (Math.ceil).
  • Wenn der Operand positiv ist, es wird auf die nächste Ganzzahl abgerundet (Math.floor).

Nützlichkeit

Während der ~~-Operator wie ein einfacher Ersatz für Math.floor erscheinen mag oder Math.ceil, es gibt einige Einschränkungen:

  • Es kann zu einem Überlauf kommen, wenn der Operand außerhalb des Bereichs von -(2^31) bis 2^31 - 1 liegt.
  • Es ist nicht für nicht ganzzahlige Operanden geeignet, da es den Dezimalteil ignoriert.

Daher wird im Allgemeinen empfohlen, x (unäres Plus) oder Number(x) für die Typumwandlung zu verwenden, und Math.floor oder Math.ceil zum Runden.

Beispiel

Betrachten Sie die Zahl -43.2:

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

Wie Sie sehen können, rundet ~~ gegen Null, während Math.floor abrundet. Dieses Verhalten kann in bestimmten Szenarien nützlich sein, beispielsweise beim Abschneiden einer Zahl ohne Verwendung eines Dezimalpunkts.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3