Heim > Web-Frontend > js-Tutorial > Warum führt „1' 1 zu „11', während „1' - 1 in JavaScript zu 0 führt?

Warum führt „1' 1 zu „11', während „1' - 1 in JavaScript zu 0 führt?

DDD
Freigeben: 2024-11-15 09:29:02
Original
657 Leute haben es durchsucht

Why Does

JavaScripts einzigartige Handhabung von String- und Zahlenoperatoren

In JavaScript kann das Verhalten von arithmetischen Operatoren wie und - je nach Datentyp variieren beteiligt. Dies kann besonders rätselhaft sein, wenn mit Zeichenfolgen und Zahlen gearbeitet wird.

Diskrepanz zwischen Zeichenfolgenverkettung und numerischer Subtraktion

Bedenken Sie den folgenden Code:

console.log("1" + 1);
console.log("1" - 1);
Nach dem Login kopieren

Überraschenderweise gibt die erste Zeile „11“ aus, während die zweite Zeile 0 ausgibt. Dies scheint widersprüchlich zu sein Das Verhalten lässt sich erklären, indem man die Handhabung dieser Operatoren durch JavaScript versteht.

String-Verkettung (mit )

Wenn der Operator mit Strings verwendet wird, führt er eine String-Verkettung durch. In unserem Beispiel ist „1“ ein String, daher wandelt JavaScript auch die numerische 1 in einen String um. Dies führt zur Verkettung von „1“ und „1“ und ergibt „11“.

Numerische Subtraktion (mit -)

Im Gegensatz zur Zeichenfolgenverkettung ist die numerische Subtraktion Gilt nur für Zahlen. „1“ ist in unserem Beispiel eine Zeichenfolge, daher versucht JavaScript, sie vor der Subtraktion in eine Zahl umzuwandeln. Allerdings werden Zeichenfolgen in JavaScript nicht als gültige Zahlen erkannt. Folglich wird „1“ während der Subtraktion als 0 behandelt, was zu „1“ – 1 = 0 führt.

Fazit

JavaScripts Umgang mit Zeichenfolgen- und Zahlenoperatoren kann Seien Sie manchmal kontraintuitiv. Es ist wichtig, die Regeln für diese Operatoren zu verstehen, insbesondere wenn Sie mit gemischten Datentypen arbeiten, um unerwartetes Verhalten in Ihrem Code zu vermeiden.

Das obige ist der detaillierte Inhalt vonWarum führt „1' 1 zu „11', während „1' - 1 in JavaScript zu 0 führt?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage