Heim  >  Artikel  >  Web-Frontend  >  Warum werden in JavaScript Zeichenfolgen durch „ ' verkettet, durch „-' jedoch Zahlen subtrahiert?

Warum werden in JavaScript Zeichenfolgen durch „ ' verkettet, durch „-' jedoch Zahlen subtrahiert?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-24 00:05:14383Durchsuche

Why Does ' ' Concatenate Strings But '-' Subtracts Numbers in JavaScript?

Abweichendes Verhalten von ' ' und '-'-Operatoren mit Zeichenfolgen und Zahlen in JavaScript

JavaScript zeigt ein rätselhaftes Verhalten, wenn mathematische Operationen dazwischen ausgeführt werden Zeichenfolgen und Zahlen. Insbesondere variiert das Verhalten der Operatoren „ “ und „-“ je nach den beteiligten Operandentypen.

Lassen Sie uns auf zwei Beispiele eingehen, um diese Beobachtung zu veranschaulichen:

  1. String-Verkettung ( ):

    console.log("1" + 1);

    Ausgabe: „11“

  2. Zahlensubtraktion (-):

    console.log("1" - 1);

    Ausgabe: 0

Begründung:

  1. String-Verkettung: Der Operator „ ' führt eine String-Verkettung durch, wenn einer der Operanden ist eine Zeichenfolge. Im ersten Beispiel ist „1“ eine Zeichenfolge, daher wandelt JavaScript die numerische 1 in eine Zeichenfolge um und verkettet sie, was zu „11“ führt.
  2. Zahlensubtraktion: Andererseits , kann der Operator „-“ keine Subtraktion für Zeichenfolgen durchführen. Stattdessen versucht JavaScript, den String-Operanden („1“ im zweiten Beispiel) in eine Zahl umzuwandeln. Diese Konvertierung ist erfolgreich, da „1“ gültig als numerischer Wert interpretiert werden kann. Die resultierende Subtraktion von 1 von 1 ergibt jedoch 0.

Dieses Verhalten ist auf die Tatsache zurückzuführen, dass JavaScript dem „Loose Typing“-Paradigma folgt, bei dem Typerzwingung automatisch durchgeführt wird, um Vorgänge kompatibel zu machen. Im Fall des „-“-Operators und von Zeichenfolgen kann jedoch keine Typerzwingung angewendet werden, was zum beobachteten Verhalten führt.

Das obige ist der detaillierte Inhalt vonWarum werden in JavaScript Zeichenfolgen durch „ ' verkettet, durch „-' jedoch Zahlen subtrahiert?. 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