Lohnt es sich, Vanilla JavaScript zu lernen? Absolut.

Der Zweck dieses Beitrags ist es, die Bedeutung der JavaScript-Grundlagen für jeden Front-End-Entwickler hervorzuheben. Ich werde Ihnen sagen, warum Sie gute Kenntnisse in reinem (Vanille-) JavaScript haben sollten. Dies bedeutet JavaScript ohne zusätzliche Frameworks oder Bibliotheken.

Ich werde auch einige Ressourcen erwähnen, die mir geholfen haben, diese Grundlagen zu lernen.

Ein weiterer Grund für diesen Beitrag ist, dass viele aufstrebende Webentwickler dazu neigen, das Erlernen der wichtigsten JavaScript-Konzepte wie Heben, Schließen oder Prototypen zu überspringen. Sie gehen direkt zu den heißesten Frameworks wie React oder Angular 2. Ich zeige Ihnen, warum dieser Ansatz nicht der bequemste ist.

Jeder möchte Entwickler mit Kenntnissen von $ {addTheHotFramework}…

Gibt es einen Grund, warum Sie Vanilla JavaScript lernen sollten?

Es ist schwer, ein starker Entwickler zu werden, ohne den Kern der Sprache selbst zu kennen. So wie Sie die Grundprinzipien des Gesetzes verstehen müssen, bevor Sie in ein bestimmtes Rechtsgebiet springen können. Dieser Vergleich ist rein zufällig. ?

Ich verstehe, dass die Mehrheit der aufstrebenden Webentwickler so schnell wie möglich eingestellt werden möchte. Ich wollte das auch.

Es scheint viel einfacher zu sein, einen Crashkurs über JavaScript-Grundlagen zu absolvieren, in ein ausgefallenes Framework zu springen, eine ToDo-Liste zu erstellen (einen Welpen sterben zu lassen), sie auf GitHub hochzuladen und dann nach einem Job zu suchen.

… Aber Zeit in Vanilla JavaScript zu investieren, wird sich auf lange Sicht auszahlen

Versteh mich hier nicht falsch. Ich bin in keiner Weise voreingenommen gegenüber JavaScript-Frameworks. Es ist genau das Gegenteil. Viele von ihnen helfen Ihnen dabei, besser lesbaren und wartbaren Code zu schreiben. Mit ihnen können Sie abstrakteren Code schreiben, der häufig einfacher zu debuggen ist.

Das JavaScript-Ökosystem entwickelt sich jedoch ziemlich schnell. Neue Frameworks werden erstellt. Neue Funktionen werden zu den vorhandenen hinzugefügt. Und am wichtigsten ist, dass viele der heißesten Frameworks von heute irgendwann ersetzt werden, wie z. B. Angular 1.

Denken Sie unter solchen Umständen immer noch, dass die Kenntnis eines bestimmten JavaScript-Frameworks für einen Webentwickler ausreicht?

Oder ist es besser zu verstehen, wie die Sprache, auf der all diese Bibliotheken und Frameworks basieren, unter der Haube funktioniert?

Wenn Sie über fundierte Kenntnisse der JavaScript-Grundlagen verfügen,Das einzige, was Sie benötigen, um sich mit der Arbeit mit einem neuen Framework vertraut zu machen, ist die Syntax . Die Grundregeln sind die gleichen, da unter allen Abstraktionsebenen. Es ist immer noch einfach nur altes JavaScript.

Wenn Ihr Wissen nur auf ein einziges JavaScript-Framework beschränkt ist, fällt es Ihnen schwer, ein neues zu erlernen. Unterschiedliche Frameworks basieren häufig auf unterschiedlichen JavaScript-Prinzipien. Auf lange Sicht werden Sie mehr Zeit damit verbringen, verschiedene Frameworks zu verstehen und den Code zu debuggen, den Sie in sie schreiben.

Alle JavaScript-Frameworks und -Bibliotheken basieren unweigerlich auf dem Vanilla-Kern.

Dies sollte jeden davon überzeugen, dass die Kenntnis eines reinen JavaScript auf lange Sicht ein Muss ist. Dies ist eine Voraussetzung für jeden erfolgreichen Entwickler, insbesondere für einen, der hauptsächlich im JavaScript-Ökosystem arbeitet.

Persönliche Erfahrung

Vor nicht allzu langer Zeit habe ich auf meine Reise von einem Anwalt zu einem Webentwickler zurückgeblickt. Es ist bereits 18 Monate her, seit ich meine erste JavaScript-Funktion geschrieben habe, und mein zehnter Monat als professioneller Front-End-Entwickler.

Ich erinnere mich noch daran, wie schwierig es für mich war, den richtigen Weg zum Erlernen von JavaScript zu finden, da ich keine Programmiererfahrung hatte. Ich habe viele verschiedene Wege ausprobiert (und versuche es immer noch), um ein effektiver Lernender zu werden. Einige von ihnen waren lohnender, andere weniger.

Vor allem kann ich nicht genug betonen, wie hilfreich es für mich war, von Anfang an den Schwerpunkt auf das Erlernen von reinem JavaScript zu legen. Frameworks kamen später.

Im Moment arbeite ich mit einem React-Redux-Stack. Trotzdem stoße ich oft auf ein Problem, das ich dank meiner Kenntnisse in Vanilla JavaScript lösen kann. Diese Fehler wären viel schwieriger zu lösen, wenn nur ein bestimmtes Framework bekannt wäre.

Learning React oder Angular 2 zeigen Ihnen nicht, dass Objekte als Referenz übergeben werden oder wie das Schließen funktioniert. Der Versuch, diese Konzepte unter den durch das Framework eingebrachten Abstraktionen zu verstehen, ist viel schwieriger. Dies erschwert das Verständnis einfacher JavaScript-Konzepte.

Wenn Sie mit JSX (React, Vue, Inferno) oder TypeScript (Angular 2) arbeiten, haben Sie darüber hinaus eine weitere Abstraktionsebene.

Wenn Sie verstehen möchten, wie diese Frameworks unter der Haube funktionieren, müssen Sie zuerst wissen, wie JavaScript selbst funktioniert.

Sie können Ihre Kenntnisse in reinem JavaScript testen, indem Sie den Quellcode Ihres bevorzugten Frameworks lesen.Dies gibt Ihnen nicht nur ein Bild davon, wie es unter der Haube funktioniert, sondern bringt Ihnen auch viel über seine Logik bei, die Sie in Ihrem eigenen Code verwenden können. Sie werden sehen, dass die Funktionen des Frameworks, die in Ihrer Anwendung viel Magie zu bewirken scheinen, nur Kompositionen grundlegender JavaScript-Konzepte sind.

Gib mir etwas, von dem ich lernen kann

Die Frage, die Sie jetzt möglicherweise stellen, lautet: „Welche guten Ressourcen können mir dabei helfen, gute Kenntnisse über Vanilla JavaScript zu erlangen?“.

Es gibt unzählige Kurse und Bücher über JavaScript und seine Frameworks. Nur wenige von ihnen möchten Ihnen Vanilla JavaScript auf umfassende Weise beibringen. Die meisten von ihnen sind auf eine bestimmte JavaScript-Technologie spezialisiert.

Aber es gibt noch einige gute ...

Eloquentes JavaScript vermittelt Ihnen nicht nur die Grundlagen von JavaScript, sondern auch die Grundlagen der Programmierung im Allgemeinen. Wenn Sie bereits ein fortgeschrittener Entwickler sind, bietet Ihnen dieses Buch eine neue Perspektive auf JavaScript und seine Kernprinzipien.

Eine weitere großartige Ressource ist die Buchreihe You Don't Know JavaScript (YDKJS) von Kyle Simpson. Kyle weiß wirklich, wie man unterrichtet. Seine Erklärungen zu fortgeschrittenen JavaScript-Konzepten sind anfängerfreundlich und er behandelt sie ausführlich. Die bloßen Titel der Bücher geben Ihnen einen Hinweis darauf, was Sie lernen werden. "Up & Going", "Scope & Closures", "this & Object Prototypes", "Types & Grammar", "Async & Performance", "ES6 & Beyond". Es gibt auch ein neues 7. Buch über funktionale Programmierung in JavaScript.

Eines der großartigen Dinge an Eloquent JavaScript und YDKJS ist, dass Sie sie kostenlos erhalten können (überprüfen Sie die bereitgestellten Links). Aber wenn Sie sie wirklich nützlich finden, vergessen Sie nicht, die Autoren durch den Kauf zu unterstützen.

Wenn Sie eher eine Person für Videokurse sind, können Sie sich Kyles Online-Kurse ansehen. Ich denke, das Beste, was Sie tun können, ist, sie als Begleiter seiner Bücher anzusehen, da die Themen dieselben sind. Diese Kurse werden jedoch bezahlt.

Ein weiterer Videokurs, den ich nützlich finde, ist Javascript: Understanding the Weird Parts von Anthony Alicea. Es erklärt auf ansprechbare Weise, was unter der Haube von JavaScript passiert. Es behandelt fortgeschrittene Konzepte wie prototypische Vererbung, funktionale Programmierung und Scope-Ketten.

Lernen Sie jetzt Vanilla JavaScript

Wenn Sie Ihre kostbare Zeit in das Erlernen von Vanilla JavaScript investieren, werden Sie es nicht bereuen. Es enthält nicht nur das Wort Vanille , sondern wirkt sich auch positiv auf die Programmierkenntnisse aus.

Für mich ist der beste Kompromiss, dass das Erlernen von reinem JavaScript auf lange Sicht viel mehr bringt, als Zeit in ein bestimmtes Framework zu investieren. Frameworks sind nur Verknüpfungen. Unter der Haube ist alles JavaScript.

Sie werden es selbst in einer Situation sehen, in der ein von Ihnen verwendetes Framework ein unerwartetes Verhalten aufweist. In diesem Fall müssen Sie diesen Fehler untersuchen, indem Sie den Quellcode durchgehen. Habe ich erwähnt, dass viele Frameworks zwar keine anständige Dokumentation haben, aber einen ziemlich komplexen Code haben? Aber hey, ein Kinderspiel, oder? Sie haben sicherlich schon viel Zeit damit verbracht, Vanilla JavaScript zu lernen. Oder noch nicht?

Sollten Sie sich nur an eines aus diesem Beitrag erinnern:

Denken Sie immer daran, dass Kenntnisse in Vanilla JavaScript Ihnen helfen, ein viel besserer Entwickler zu werden. Zeitraum.

Wenn Ihnen dieser Artikel gefallen hat, klatschen Sie ein paar Mal. Ich würde es sehr begrüßen.

Dieser Beitrag wurde ursprünglich in meinem Blog veröffentlicht.

Wir sehen uns auf Twitter?

David Kopal (@coding_lawyer) | Twitter

Die neuesten Tweets von David Kopal (@coding_lawyer). Front-End-Entwickler @ataccama | ehemaliger Anwalt | Blogger… twitter.com