JavaScript ist die beliebteste Sprache unter Millionen von Frontend-Entwicklern auf der ganzen Welt, aber wie jedes Tool hat es seine Macken.
Haben Sie sich jemals gefragt, was passiert, wenn Sie den Operator „typeof“ für null verwenden? Nun, das ist eines der seltsamsten und verwirrendsten Dinge in JavaScript.
Der Operator „typeof“ funktioniert gut mit Literalen wie „Hello World“, da er als Typ string zurückgibt. Das Gleiche gilt für Zahlen und boolesche Werte.
Wenn es jedoch um null geht, könnten Sie erwarten, dass etwas wie null oder undefiniert zurückgegeben wird, oder? Aber Sie werden vielleicht überrascht sein zu erfahren, dass, wenn wir den Operator „typeof“ für null verwenden, dieser tatsächlich object zurückgibt.
Dieses Ergebnis scheint seltsam und kann Entwickler, insbesondere diejenigen, die neu bei JavaScript sind, leicht zum Stolpern bringen.
Aber warum macht JavaScript das?
Um dies zu verstehen, müssen wir zu den Anfängen von JavaScript in den 1990er Jahren zurückkehren.
Damals, als die Sprache zum ersten Mal entwickelt wurde, gab es einen Fehler in ihrem Design. Der Wert null erhielt einen speziellen internen Code, der dem für Objekte ähnelte. Wenn der Operator „typeof“ null prüft, identifiziert er ihn daher fälschlicherweise als Objekt.
Obwohl dies ein unbeabsichtigter Fehler war, wird er dennoch als Fehler betrachtet, da er jeder Logik widerspricht.
Leider gibt es diesen Fehler schon so lange, dass eine sofortige Behebung wahrscheinlich einen Großteil des vorhandenen Codes beschädigen würde, der auf dem aktuellen Verhalten basiert.
Aber im Laufe der Zeit haben viele Entwickler gelernt, damit zu leben und Wege zu finden, es zu umgehen.
Dies erinnert uns alle daran, dass keine Programmiersprache perfekt ist, egal wie weit verbreitet sie ist.
Die Idee besteht darin, diese Eigenheiten zu verstehen, ein besserer Entwickler zu werden und zuverlässigeren und fehlerfreien Code für die zukünftige Generation zu schreiben.
Um über weitere Inhalte zu Webentwicklung und KI auf dem Laufenden zu bleiben, folgen Sie mir gerne. Lasst uns gemeinsam lernen und wachsen!
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