Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum gibt JavaScripts NaN „Number' in „typeof' zurück?

DDD
Freigeben: 2024-11-25 21:07:12
Original
398 Leute haben es durchsucht

Why Does JavaScript's NaN Return

Das Rätsel von NaN: Warum gibt es „Number“ in Typeof zurück?

Trotz seines Namens ist „Not a Number“ (NaN ) fällt dieser rätselhafte Wert in den Bereich der numerischen Typen. Dieses eigenartige Verhalten kann auf die interne Darstellung numerischer Daten in JavaScript zurückgeführt werden.

NaN stellt einen bestimmten Wert dar, der außerhalb der Einschränkungen des numerischen Typs liegt. Während alle Zahlen, einschließlich derjenigen, die gerundet werden müssen, möglicherweise ähnlichen Einschränkungen unterliegen, stellt NaN aufgrund seiner spezifischen Bezeichnung einen Einzelfall dar.

Der offensichtliche Widerspruch, dass NaN ein Zahlentyp ist, wird noch faszinierender, wenn man Vergleiche mit NaN betrachtet . Entgegen den Erwartungen werden unterschiedliche NaN-Werte als unterschiedlich behandelt, was dazu führt, dass sie selbst im Vergleich zu sich selbst als ungleich gelten.

Zur weiteren Verdeutlichung klassifiziert JavaScript Vergleiche entweder als „signalisierend“ oder „nicht signalisierend“. Signalisierungsvergleiche lösen eine Ausnahme aus, wenn NaN beteiligt ist, während Nicht-Signalisierungsvergleiche einfach „false“ zurückgeben. Diese Unterscheidung wird in Gleichheits- und Ungleichheitstests deutlich, bei denen x == x als falsch ausgewertet wird, wenn x ein „ruhiges NaN“ ist.

Letztendlich ist dies der Grund für die Klassifizierung von NaN als Zahlentyp und sein einzigartiges Verhalten bei Vergleichen läuft auf die zugrunde liegende numerische Darstellung von JavaScript und sein Engagement für die Unterscheidung zwischen verschiedenen NaN-Werten hinaus. Das Verständnis dieser Nuancen ist für eine effektive JavaScript-Programmierung von entscheidender Bedeutung und ermöglicht es Entwicklern, sich in den Feinheiten von Datentypen und Vergleichen zurechtzufinden.

Das obige ist der detaillierte Inhalt vonWarum gibt JavaScripts NaN „Number' in „typeof' zurück?. 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