Heim > Web-Frontend > js-Tutorial > Warum wird der Tilde-Operator vor einem Ausdruck in JavaScript verwendet?

Warum wird der Tilde-Operator vor einem Ausdruck in JavaScript verwendet?

Linda Hamilton
Freigeben: 2024-11-24 18:35:35
Original
635 Leute haben es durchsucht

Why is the Tilde Operator Used Before an Expression in JavaScript?

Die Bedeutung des Tilde-Operators in vorangehenden Ausdrücken

Der Tilde-Operator (~) ist ein bitweiser Operator in JavaScript, der alle Bits umdreht sein Operand. Dieser Operator wird selten vor der Ausdrucksauswertung verwendet, was Fragen zu seinem Zweck und seiner Bedeutung aufwirft.

Betrachten wir den folgenden Beispielcode:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'
Nach dem Login kopieren

In diesem Code wird der Tilde-Operator vor dem verwendet indexOf()-Funktion. Die Funktion indexOf() gibt den Index des ersten Vorkommens einer Zielzeichenfolge innerhalb einer Zeichenfolge zurück. Wenn die Zielzeichenfolge nicht gefunden wird, wird -1 zurückgegeben.

Wirkung des Tilde-Operators

Der Tilde-Operator wandelt den Rückgabewert von indexOf() in 32 um -bit-Ganzzahl und dreht alle seine Bits um. Wenn indexOf() beispielsweise -1 zurückgibt (was anzeigt, dass die Zielzeichenfolge nicht gefunden wurde), würde der Tilde-Operator alle Bits seiner Binärdarstellung umdrehen:

0000 0000 0000 0000 0000 0000 0000 0001 (original)
=>
1111 1111 1111 1111 1111 1111 1111 1110 (inverted)
Nach dem Login kopieren

Das Ergebnis ist eine positive Zahl wird in JavaScript als wahr behandelt. Daher wird der Ausdruck ~'input,textarea'.indexOf(target.tagName.toLowerCase()) als wahr ausgewertet, wenn die Zielzeichenfolge nicht gefunden wird, und als falsch, wenn sie gefunden wird.

Verwendung Fälle für den Tilde-Operator

Obwohl ungewöhnlich, hat der Tilde-Operator verschiedene Verwendungsmöglichkeiten. einschließlich:

  • Low-Level-Programmierung:Es kann Bits direkt manipulieren.
  • Leistungsoptimierungen:Es kann in bitweisen Tricks verwendet werden um die Leistung in bestimmten Situationen zu verbessern.
  • Truthy/Falsy Casting: Das kann sein Wird als Trick verwendet, um den Rückgabewert von indexOf() in einen wahrheitsgetreuen Wert für nicht gefundene Fälle umzuwandeln.
  • Zahlenkürzung: Kann missbraucht werden, um Zahlen effektiv auf 32 Bit zu kürzen Ausführen von Math.floor() für positive Zahlen.

Alternativen zur Tilde Operator

Zum Testen der Existenz eines Werts in einem String oder Array bietet JavaScript jetzt spezielle Methoden:

  • Array.prototype.includes() für Arrays
  • String.prototype.includes() für Zeichenfolgen

Diese Methoden geben einen booleschen Wert direkt zurück, was sie zu einer klareren und effizienteren Alternative zum Tilde-Operator macht.

Fazit

Wenn der Tilde-Operator einem Ausdruck vorangestellt wird, wandelt er den Wert des Ausdrucks in eine bitweise Darstellung um und dreht alle seine Bits um. Es gibt mehrere obskure Verwendungsmöglichkeiten, aber aufgrund der mangelnden Klarheit und geringeren Relevanz im Vergleich zu moderneren Methoden wie Array.prototype.includes() und String.prototype.includes() wird im Allgemeinen davon abgeraten.

Das obige ist der detaillierte Inhalt vonWarum wird der Tilde-Operator vor einem Ausdruck in JavaScript verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage