Fundstück

WTF, JavaScript?: „NaN is not a NaN“ und andere Kuriositäten

(Foto: Shutterstock)

Wieso ist der Output von [] == ![] // true? Warum bewirkt eine bestimmte Kombination von Klammern, eckigen Klammern, Ausrufezeichen und Pluszeichen den Output 'fail' ? Was hat es mit dem baNaNa-Joke auf sich? Um solche und andere spannende, witzige und merkwürdige Fälle geht es in diesem unterhaltsamen Fundstück. 

JavaScript ist eine der populärsten Programmiersprachen überhaupt. Die Syntax ist – verglichen mit Sprachen wie Java oder C – relativ simpel. Das JavaScript- Ökosystem sowie die Community wachsen kontinuierlich. Es gibt eine Fülle an Frameworks und Tools, und die Nachfrage nach JavaScript-Entwicklern ist hoch.

Nix mehr verpassen: Die t3n Newsletter zu deinen Lieblingsthemen! Jetzt anmelden

Programmiersprache mit Tücken

Bei allen Vorzügen hat die Programmiersprache aber auch ihre Tücken. Manche davon machen euch euren Entwicklerjob zur Hölle, andere sind ganz einfach ziemlich witzig – so leitet der Ersteller des WTF-JavaScript-Repos, Denys Dovan, die Sammlung ein. Dazu inspiriert wurde er von Brian Leroux’ Talk auf der dotJS 2012.

Im Repository findet ihr neben ein paar einleitenden Sätzen und Hinweisen zur Notation ein Inhaltsverzeichnis mit einer Vielzahl von Beispielen, die auch wirklich gut und ausführlich erklärt werden. Oft sind zudem weitere Quellen zur Vertiefung verlinkt.

Command Line ftw

Freunde der Kommandozeile können WTF JavaScript über npm install -g wtfjs installieren, über wtfjs öffnen und im Pager ihrer Wahl über das Terminal aufrufen. Alle anderen können auch einfach das Repo auf GitHub aufrufen.

Blick unter die Haube

Die Motivation hinter der Liste ist folgende: Dovan wollte mit WTF JavaScript eine Sammlung kurioser, unerwarteter und interessanter Funktionsweisen der Programmiersprache erstellen – und erklären, was dahinter steckt. Einfach, weil es Spaß macht, öfter mal was Neues zu lernen. Für Anfänger bietet das Projekt eine tolle Ressource, sich eingehender mit den Eigenheiten der Sprache zu befassen und einen Blick unter die Haube zu werfen. Für erfahrene JS-Entwickler und Entwicklerinnen ist es eine tolle Referenz für JavaScripts seltsame Eigenheiten. Gut möglich, dass auch diese Fraktion dabei noch etwas lernen kann. Egal, zu welcher der beiden Gruppen ihr euch zählt – lest das Repository, es lohnt sich.

Vielleicht ebenfalls interessant für dich:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung