Heim  >  Artikel  >  Web-Frontend  >  ## Was macht der Doppel-Tilde-Operator (~~) in JavaScript?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 11:05:31699Durchsuche

## 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 NICHT-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 ganze Zahl (Math.ceil) aufgerundet.
  • Wenn der Operand positiv ist, es wird auf die nächste Ganzzahl (Math.floor) abgerundet.

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 führen, 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.

Das obige ist der detaillierte Inhalt von## Was macht der Doppel-Tilde-Operator (~~) in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn