Heim >Web-Frontend >js-Tutorial >Warum ist in JavaScript „1' 1 gleich „11', aber „1' – 1 gleich 0?

Warum ist in JavaScript „1' 1 gleich „11', aber „1' – 1 gleich 0?

Susan Sarandon
Susan SarandonOriginal
2024-11-19 02:27:03908Durchsuche

Why does

Verstehen der Verkettungs- und Subtraktionsunterschiede in JavaScript

In JavaScript die Handhabung der Plus- ( ) und Minus- (-) Operatoren zwischen Zeichenfolgen und Zahlen ist unterschiedlich, was oft zu Verwirrung führt. Um dieses Verhalten zu verdeutlichen, schauen wir uns zwei Beispiele an:

console.log("1" + 1); // Output: "11"
console.log("1" - 1); // Output: 0

String-Verkettung ( )

Bei Verwendung des Plus-Operators zwischen einer Zeichenfolge ("1") und Wenn Sie eine Zahl (1) angeben, führt JavaScript eine Zeichenfolgenverkettung durch. In diesem Fall wandelt es den numerischen Wert in eine Zeichenfolge („1“) um und hängt ihn an die vorhandene Zeichenfolge („1“) an, was zur Ausgabe „11“ führt.

Numerische Subtraktion ( -)

Bei Verwendung des Minusoperators priorisiert JavaScript jedoch numerische Operationen. Da für Zeichenfolgen keine Subtraktion durchgeführt werden kann, wird die zweite „1“ (eine Zeichenfolge) implizit in eine Zahl umgewandelt, bevor die Subtraktion durchgeführt wird. Daher subtrahiert JavaScript 1 von der numerischen 1, was zu einer Ausgabe von 0 führt.

Zusätzlicher Hinweis:

In JavaScript kann der Plus-Operator überladen werden, um beides auszuführen String-Verkettung oder numerische Addition, abhängig von den Datentypen der Operanden. Allerdings wird der Minusoperator ausschließlich für die numerische Subtraktion verwendet, weshalb er sich bei der Arbeit mit Zeichenfolgen anders verhält.

Das obige ist der detaillierte Inhalt vonWarum ist in JavaScript „1' 1 gleich „11', aber „1' – 1 gleich 0?. 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