„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum wird „11“ in JavaScript mit weniger als „3“ verglichen?

Warum wird „11“ in JavaScript mit weniger als „3“ verglichen?

Veröffentlicht am 04.11.2024
Durchsuche:874

Why Does \

Anomalien beim String-Vergleich: Warum „11“ in JavaScript kleiner als „3“ ist

Das Verhalten beim String-Vergleich von JavaScript kann manchmal kontraintuitiv sein. Ein solches Beispiel ist die Ungleichung „11“

In JavaScript werden Zeichenfolgen lexikographisch Zeichen für Zeichen von links nach rechts verglichen. Wenn die Zeichen unterschiedlich sind, basiert der Vergleich auf ihren Unicode-Codepunkten. Der ASCII-Code für „1“ ist 49, während der für „3“ 51 ist. Daher ist das erste Zeichen von „11“ (mit einem Codepunkt von 49) kleiner als das erste Zeichen von „3“ (mit einem Code). Punkt von 51), was zu der Ungleichung '11'

Hier sind einige zusätzliche Beispiele, um dieses Verhalten zu veranschaulichen:

  • '31'
  • '31'
  • '31'

Das ist wichtig Beachten Sie, dass für Briefe dieselben Vergleichsregeln gelten. Wenn „b“ nicht kleiner als „a“ ist, kann „abc“ nicht kleiner als „aaa“ sein. Allerdings ist „c“ kleiner als „d“, also ist „abc“ kleiner als „abd“.

Um solche Anomalien beim Vergleich von Zeichenfolgen als Zahlen zu vermeiden, wird empfohlen, sie explizit mit dem Operator „ “ zu konvertieren :

 '11' 
Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729224258 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3