Heim  >  Artikel  >  Web-Frontend  >  Was ist der Double Tilded Operator (~~) in JavaScript und wie vergleicht er sich mit Math.floor()?

Was ist der Double Tilded Operator (~~) in JavaScript und wie vergleicht er sich mit Math.floor()?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 09:05:02228Durchsuche

What is the Double Tilded Operator (~~) in JavaScript and How Does It Compare to Math.floor()?

Double Tilded Operator (~~) in JavaScript

Frage:

In bestimmtem Code Bei einigen Beispielen wird der Operator „Doppelte Tilde“ (~~) angetroffen. Was ist ihr Zweck und wie unterscheidet sie sich von der Funktion Math.floor()?

Antwort:

Der ~~-Operator ist ein Double Bitwise NOT-Operator. Sie liefert ein schnelleres und positives numerisches Ergebnis als die Funktion Math.floor().

Die Double Bitwise NOT-Operation wandelt die Zahl in eine 32-Bit-Ganzzahl um und wendet dann den bitweisen NOT-Operator (~) zweimal an. Der resultierende Wert ist:

~~x = -(~~~x + 1)

Da der ~-Operator die Nullen und Einsen im Bitmuster umkehrt, entfernt die ~~-Operation effektiv den Dezimalteil der positiven Zahl, indem sie ihn in Richtung Null kürzt.

Unterschiede zur Funktion Math.floor():

Während kann als schnellerer Ersatz für Math.floor() für positive Zahlen verwendet werden, liefert es für negative Zahlen nicht das gleiche Ergebnis. schneidet einfach den Dezimalteil ab, während Math.floor() auf die nächste ganze Zahl abrundet.

Beispiel:

console.log(~~2.3); // Output: 2 (equivalent to Math.floor(2.3))
console.log(~~-2.3); // Output: -2 (different from Math.floor(-2.3) which equals -3)

Das obige ist der detaillierte Inhalt vonWas ist der Double Tilded Operator (~~) in JavaScript und wie vergleicht er sich mit Math.floor()?. 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