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'
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)
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:
Alternativen zur Tilde Operator
Zum Testen der Existenz eines Werts in einem String oder Array bietet JavaScript jetzt spezielle Methoden:
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!