Warum gibt „typeof NaN' „Nummer' zurück?
Nov 29, 2024 pm 08:09 PMWarum gibt typeof NaN „Zahl“ zurück?
Es mag paradox erscheinen, dass ein Wert mit der Bezeichnung „Keine Zahl“ (NaN) von als Zahl behandelt wird der Typ des Operators. Dieses Verhalten ist jedoch auf die zugrunde liegende Natur von NaN zurückzuführen.
Erstens ist NaN trotz seines Namens ein numerischer Typ. Es stellt einen ungültigen oder undefinierten numerischen Wert dar. Während alle Zahlen Näherungswerte sind und Einschränkungen unterliegen, ist NaN ein spezifischer Fall eines numerischen Werts, der nicht genau dargestellt werden kann.
Zweitens ist NaN keinem anderen Wert gleich, auch nicht sich selbst. Dies liegt daran, dass NaN kein spezifischer Wert ist, sondern ein Platzhalter für ein ungültiges oder undefiniertes Ergebnis. Daher wird der Vergleich von NaN mit sich selbst oder einem anderen Wert immer „false“ zurückgeben.
Die Erklärung in Laienbegriffen verstehen
Ein Vergleich mit NaN liefert immer ein ungeordnetes Ergebnis:
NaN ist keiner Zahl gleich, auch nicht sich selbst. Dies bedeutet, dass selbst ein Vergleich von NaN mit sich selbst zu „Falsch“ führt.
Signalisierende und nicht signalisierende Vergleichsprädikate:
Einige Vergleichsoperationen, z. B. kleiner als oder größer als , kann beim Umgang mit NaN entweder eine Ausnahme auslösen oder false zurückgeben. Diese Operationen werden als signalisierende und nicht signalisierende Prädikate bezeichnet.
Testen auf NaN unter Verwendung von Gleichheit und Ungleichheit:
Da Gleichheits- und Ungleichheitstests nicht signalisierend sind, werden sie dies auch tun keine Ausnahmen auslösen. Wenn eine reguläre Zahl auf Gleichheit mit sich selbst geprüft wird, wird sie immer „true“ zurückgeben. Wenn jedoch ein NaN auf Gleichheit mit sich selbst getestet wird, wird es immer „false“ zurückgeben. Dies bietet eine praktische Möglichkeit, NaN-Werte „unauffällig“ zu erkennen.
Das obige ist der detaillierte Inhalt vonWarum gibt „typeof NaN' „Nummer' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial

8 atemberaubende JQuery -Seiten -Layout -Plugins

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

10 JavaScript & JQuery MVC -Tutorials
