Was ist JavaScript?

Zu sagen, dass JavaScript in der Webentwicklung auf dem Vormarsch ist, wäre eine Untertreibung. In der Tat, vor Jahren, prägte der berühmte Programmierer Jeff Atwood Atwoods Gesetz in dem er sagte:

Jede Anwendung, die in JavaScript geschrieben werden kann, wird eventuell in JavaScript geschrieben.

Zum Zeitpunkt der Erstellung dieses Artikels gibt es so viele JavaScript-Frameworks und -Bibliotheken, dass es überwältigend ist, zu wissen, wo man anfangen soll, besonders wenn Sie Anfänger sind. 

Und ich weiß, vieles, was wir hier veröffentlichen, richtet sich an diejenigen, die bereits Erfahrung mit dem Schreiben von Webanwendungen haben oder etwas in der Webentwicklung tun. Aber das ist nicht das Zielpublikum für diesen Artikel. 

Stattdessen wird dies speziell für diejenigen geschrieben, die noch nie (oder kaum) eine JavaScript-Zeile geschrieben haben und mehr über die Sprache erfahren möchten und verstehen möchten, was da draußen ist. Außerdem möchten wir darauf eingehen, wie es verwendet wird und was davon zu erwarten ist.

Kurz gesagt, wenn Sie ein erfahrener Profi sind, dann ist dieser Artikel nicht für Sie; Wenn Sie jedoch neugierig auf JavaScript sind, sich aber nicht sicher sind, wo Sie anfangen sollen, hilft Ihnen diese Einführung vielleicht die richtige Richtung.

Lernen Sie JavaScript: Das komplette Handbuch

Wir haben ein umfassendes Handbuch zusammengestellt, mit dessen Hilfe Sie JavaScript erlernen können, egal ob Sie gerade erst als Webentwickler anfangen oder sich mit fortgeschrittenen Themen befassen möchten.

JavaScript definiert

Sie haben wahrscheinlich gehört, dass JavaScript als "clientseitige Skriptsprache" bezeichnet wird. Dies ist eine andere Möglichkeit zu sagen, dass es sich um eine Programmiersprache handelt, die in einem Webbrowser ausgeführt wird. 

Alternativ definiert Wikipedia es so:

JavaScript ist eine übergeordnete, dynamische, nicht typisierte und interpretierte Programmiersprache. Es wurde in der ECMAScript-Sprachspezifikation standardisiert.

All das oben Gesagte ist wahr (mit unterschiedlicher Komplexität), aber es ist auch zu beachten, dass JavaScript auch serverseitig laufen kann. Das kommt uns jedoch voraus. Lassen Sie uns stattdessen zuerst über einige der oben genannten Punkte sprechen, und wir werden später in diesem Artikel über serverseitiges JavaScript sprechen.

  • Hohes Level. Wenn eine Programmiersprache eine höhere Ebene ist, wird sie als eine Sprache betrachtet, die gebaut wurde, ohne dass genauere Informationen über den zugrunde liegenden Computer erforderlich sind. Sie müssen keinen Arbeitsspeicher verwalten, Sie müssen nicht wissen, welcher Prozessortyp ausgeführt wird, und Sie müssen sich nicht mit Zeigern (z. B. in Sprachen wie C oder Assembly) befassen..
  • Dynamisch. Dynamische Sprachen ermöglichen es Entwicklern, bestimmte Aspekte der Sprache zu erweitern, indem sie neuen Code hinzufügen oder neue Objekte einführen (z. B. a Post object) während das Programm läuft, anstatt das Programm zu kompilieren. Dies ist eine leistungsstarke Funktion von JavaScript.
  • Nicht typisiert. Wenn Sie über Programmierkenntnisse verfügen, stoßen Sie wahrscheinlich auf bestimmte Arten von Sprachen, bei denen Sie den Typ der Variablen angeben müssen, mit der Sie arbeiten. Zum Beispiel wird Ihre Variable vielleicht eine speichern Schnur oder ein boolean. In JavaScript ist dies nicht erforderlich. Stattdessen deklarieren Sie einfach eine Variable mit var Stichwort.
  • Interpretiert. Wenn eine Sprache eine kompilierte Sprache ist, wird der von Ihnen geschriebene Code in eine ausführbare Binärdatei konvertiert, die Sie an andere weitergeben können. In Windows werden diese Dateien als EXE-Dateien bezeichnet. Unter OS X sind dies häufig Programme, die Sie aus dem App Store herunterladen oder in Ihr Anwendungsverzeichnis ziehen. JavaScript wird interpretiert, dh es gibt keinen Compiler. Stattdessen wird der Code interpretiert (genau wie PHP). Daher gibt es ein Intermediate-Programm namens Interpreter, das sich zwischen dem von Ihnen geschriebenen Code und dem Computer befindet, um die Anweisungen hin und her zu übersetzen.
  • Standardisiert. JavaScript ist standardisiert (der offizielle Name ist ECMAScript), was bedeutet, dass jeder Browser, der den Standard implementiert, die gleichen Funktionen wie jeder andere Browser bietet. Wenn es nicht standardisiert wäre, könnte Chrome einige Funktionen bieten, die Edge nicht bietet, und umgekehrt.

Nachdem wir nun die Attribute der Sprache behandelt haben, können wir bestimmte Aspekte und Nuancen der Sprache diskutieren. 

Obwohl alle oben genannten Punkte wichtig sind, ist es auch wichtig zu wissen, wie die Sprache funktioniert (insbesondere wenn Sie mit anderen Sprachen gearbeitet haben), damit Sie nicht mit vorgefertigten Ideen in die Entwicklung einsteigen könnte Arbeit oder wie es geht sollte Arbeit.

Stattdessen möchte ich darauf eingehen, wie es geht tut Arbeiten Sie so, dass Sie mit dem Schreiben von Code beginnen können und genau verstehen, was Sie tun.

Über die Sprache

JavaScript ist vor allem eine objektorientierte Programmiersprache, die sich jedoch ein wenig von dem unterscheidet, was Sie normalerweise sehen (wenn Sie zuvor eine objektorientierte Programmiersprache verwendet haben)..

JavaScript ist eine Prototypensprache. Dies bedeutet, dass alle Objekte in JavaScript wie String, basieren auf Prototypen. 

Dies ermöglicht uns als Entwicklern, den Objekten zusätzliche Funktionalität durch prototypische Vererbung hinzuzufügen:

Prototypenbasierte Programmierung ist eine Art objektorientierter Programmierung, bei der die Wiederverwendung von Verhalten (als Vererbung bezeichnet) über einen Prozess zum Klonen vorhandener Objekte ausgeführt wird, die als Prototyp dienen.

Ich würde argumentieren, wenn Sie noch nie mit einer objektorientierten Sprache gearbeitet haben, könnten Sie an diesem Punkt einen Vorteil haben, weil Sie kein konzeptionelles Modell haben, das Sie ändern können, um darüber nachzudenken, wie dies funktioniert.

Wenn Sie dagegen haben arbeitete in diesen Arten von Sprachen, dann denke ich, dass es sich lohnt zu unterscheiden, wie prototypische Vererbung sich von klassischer Vererbung unterscheidet:

  • Im klassisches Erbe, Wir als Entwickler werden eine Klasse schreiben. Mit dieser Klasse können mehrere Objekte erstellt werden. Außerdem können wir eine andere Klasse schreiben, die von dieser Klasse erbt, und dann Instanzen von erstellen jene Klassen. In dieser Situation teilen Unterklassen Code mit ihrer Basisklasse. Wenn Sie also eine Instanz einer Unterklasse erstellen, erhalten Sie die Funktionalität sowohl der Unterklasse als auch der übergeordneten Klasse.
  • Im prototypische Vererbung, Es gibt keine Klassen. Stattdessen definieren Sie einfach ein Objekt und führen die erforderliche Funktionalität ein. Wenn Sie einem vorhandenen Objekt Funktionalität hinzufügen möchten, fügen Sie diese dem Prototyp des Objekts hinzu. Wenn Sie versuchen, eine Methode für ein Objekt aufzurufen, z Nummer dann sucht es zuerst nach der Methode für dieses Objekt. Wenn es es nicht findet, bewegt es sich die Kette aufwärts, bis es die Methode findet (die auf der Basis leben kann) Objekt).

Schließlich und vielleicht das Wichtigste ist, dass wenn Sie ein Objekt über seinen Prototyp ändern, dann ist es für jeden zugänglich, der dieses Objekt verwendet (zumindest im Kontext Ihrer Umgebung)..

Es ist wirklich mächtig, es ist wirklich cool, aber es erfordert auch eine leichte Umstellung, wenn Sie nicht daran gewöhnt sind, in einer solchen Umgebung zu arbeiten.

Wie verwenden wir JavaScript??

In Bezug darauf, wie wir JavaScript tatsächlich einsetzen, hängt es letztendlich von Ihren Zielen ab. An einem Punkt bedeutete die Arbeit mit JavaScript, dass Sie auf einer Webseite "etwas bewirken" mussten. Es sollte das Verhalten kontrollieren.

Dies könnte ein Element einführen, ein Element entfernen (oder ausblenden) oder ähnliches. Dann wurde das Web ein wenig erweitert und die Browser konnten asynchrone Aufrufe an den Server vornehmen, die Antwort bearbeiten und dann den Status der Seite basierend auf dieser Antwort ändern.

All dies wird über Ajax erreicht. Wenn Sie dies lesen, sind Sie wahrscheinlich mit dem Begriff vertraut. Ist dies nicht der Fall, können Sie JavaScript als einen Weg betrachten, mit dem der Server aufgerufen wird, auf dem die Seite gehostet wird, und dann die Antwort bearbeiten, die er empfängt Alles ohne die Seite neu zu laden.

Aber es ist noch weiter gereift. 

Google hat eine hoch entwickelte JavaScript-Parsing-Engine namens V8 entwickelt, und andere Browser arbeiten an einer optimalen JavaScript-Leistung. 

Tatsächlich können wir jetzt mit Tools wie Node.js JavaScript auf dem Server schreiben. Darüber hinaus können wir sogar Hybridanwendungen erstellen, die auf unseren mobilen Geräten ausgeführt werden. Dies bedeutet, dass wir mithilfe von JavaScript Lösungen für unsere Telefone, Tablets und Desktop-Computer entwickeln können.

Und das kommt von einer Sprache, die früher als eine Möglichkeit zum Animieren von Dingen auf einem Bildschirm verwendet wurde. Wenn Sie JavaScript noch nicht kennen, sollten Sie dies nicht unterschätzen.

"Was sollte ich von der Sprache erwarten?"

All dies ist interessant zu lesen und es macht Spaß zu sehen, was wir tun können, aber aus rein praktischer Sicht, was können wir von der JavaScript-Sprache erwarten? 

Unabhängig davon, ob Sie die Sprache noch nicht kennen oder eine neue Sprache lernen möchten, wenn Sie aus einem anderen Umfeld kommen, Sie haben ein gewisses Maß an Erwartungen, was die Sprache bieten kann. 

Und obwohl wir über die Funktionsweise der Sprache aus einer internen Perspektive gesprochen haben, haben wir nicht wirklich über die Objekte gesprochen, die in der Sprache verfügbar sind, von APIs ganz zu schweigen. Um ehrlich zu sein, die APIs und integrierten Funktionen in der Sprache zu behandeln, wäre ein Artikel für sich. 

Aber die eingebauten Objekte abdecken? Das ist etwas, was wir überprüfen können, bevor dieser Artikel beendet wird:

  • Objekt. Das Basisobjekt, von dem alle anderen Objekte einen Teil ihrer grundlegenden Funktionalität erben.
  • Funktion. Da JavaScript wirklich objektorientiert ist, bedeutet dies, dass alles ein Objekt ist, einschließlich Funktionen. Wenn Sie also eine neue Funktion erstellen, erstellen Sie einen Verweis auf ein Objekt mit einem Funktionstyp. Und Funktionen verfügen über Eigenschaften, die Sie zur Laufzeit prüfen können (z. B. die an sie übergebenen Argumente)..
  • Boolean. Dieses Objekt dient als Objektwrapper für einen booleschen Wert. In vielen Sprachen handelt es sich bei Booleans um einen Datentyp wahr oder falsch. In JavaScript können Sie immer noch mit diesen Werten arbeiten, sie sind jedoch als Objekte zu verstehen.
  • Nummer. In vielen Programmiersprachen gibt es primitive Typen wie schweben, int, doppelt, und so weiter. In JavaScript gibt es nur einen Zahlentyp und es ist auch ein Objekt.
  • Datum. Das Arbeiten mit Datumsangaben in der Programmierung macht nie Spaß, besonders wenn Sie Zeitzonen einführen. Ich kann nicht sagen, dass JavaScript alle Ihre Probleme in Bezug auf Zeitzonen löst, aber es kann die Arbeit mit Datumsangaben (von Jahr und Monat bis zu Tag, Stunde, Minute und Sekunde) ein wenig erleichtern..
  • String. Nahezu jede Programmiersprache hat einen primitiven String-Datentyp. JavaScript ist nicht viel anders, außer dass die Zeichenfolge wie erwartet ein Objekt mit eigenen Eigenschaften ist.

Denken Sie daran, dass alle Typen, die Sie oben sehen, Objekte mit eigenen Eigenschaften (und Funktionen) sind, die Sie aufrufen können. Dies bedeutet nicht, dass Sie Konstruktoren aufrufen müssen, um Ihre Variablen zu instanziieren. Das heißt, Sie können Strings und Booleans und Zahlen wie folgt erstellen:

var example_string = 'Hallo Welt!'; var example_boolean = true; var beispielnummer = 42;

Aber letztendlich sind sie immer noch Objekte.

Um klar zu sein, das sind die Basic Objekte. Es gibt weitaus fortgeschrittenere Objekte, die es wert sind, erkundet zu werden, insbesondere wenn Sie mit Fehlerbehandlung, verschiedenen Arten von Sammlungen außerhalb von Arrays usw. arbeiten.

Wenn Sie mehr darüber erfahren möchten, empfiehlt es sich, diese Seite im Mozilla Developer Network aufzurufen.

Welche Bibliotheken und Frameworks sind verfügbar?

Wenn Sie mit den verschiedenen Frameworks, Bibliotheken und anderen Tools, die in der JavaScript-Ökonomie vorhanden sind, auf dem Laufenden sind, sind Sie keineswegs hinter der Tatsache zurück, wie dynamisch die Ökonomie geworden ist.

Dieser Artikel richtet sich jedoch an diejenigen, die mit JavaScript anfangen möchten. Nachdem Sie nun ein grundlegendes Verständnis dafür haben, wie die Sprache strukturiert ist und wie sie funktioniert, ist es an der Zeit, sich die angebotenen Bibliotheken und Frameworks anzusehen, um die Web- und / oder Anwendungsentwicklung zu erleichtern.

  • jQuery ist eine Bibliothek, die eine Browser-übergreifende API bereitstellt, mit der Sie "weniger schreiben, mehr tun können".
  • Angular ist ein JavaScript-Framework, das die Erstellung von Einzelseitenanwendungen erleichtern soll.
  • React ist eine JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen.
  • Backbone zielt darauf ab, Webanwendungen durch die Verwendung von Modellen, Sammlungen und Ansichten zu strukturieren.
  • Ember.js ist ein weiteres Framework zum "Erstellen ehrgeiziger Webanwendungen".
  • Und mehr.

Das ist weit aus einer vollständigen Liste der verfügbaren Funktionen, aber es ist ein Anfang, und es ist eine Handvoll Optionen, die sich diejenigen, die sich mit JavaScript auskennen, zumindest bewusst sein sollten, selbst wenn Sie nicht mit ihnen arbeiten.

Wenn Sie anfangen, JavaScript zu lernen und einige dieser Tools zu erlernen, werden Sie vielleicht feststellen, wie beliebt einige von ihnen sind, wenn es um Ihre eigenen Lieblingsanwendungen geht.

JavaScript lernen

Envato steht ganz im Zeichen der "Fertigkeiten für Millionen von Menschen auf der ganzen Welt". Was wäre also ein Post so, wenn er keine Links zu einigen unserer beliebtesten JavaScript-Artikel und -Kursen enthält?

  • Quiz: JavaScript ES6, Kennen Sie das richtige Werkzeug für den Job??
  • Versprechen halten mit JavaScript
  • Erstellen von Einzelseitenanwendungen mit WordPress und Angular.js
  • Das Genie von Template-Strings in ES6
  • JavaScript ES6-Grundlagen
  • Winkelrichtlinie testen
  • JavaScript für Windows 10 Universal Apps

Alle diese Ressourcen sind ideal, um mit JavaScript zu beginnen und es zu Ihrem Repertoire an Webentwicklungsfähigkeiten hinzuzufügen.

Fazit

Wenn es um Webentwicklung geht, ist JavaScript ein Muss. Obwohl Sie möglicherweise nicht das verwenden, was als "Vanilla-JavaScript" gilt, und sich für eine der vielen verfügbaren Bibliotheken und / oder Frameworks entscheiden, ist JavaScript eine Sprache, die fast jeder Webentwickler kennen sollte.

Natürlich nicht jeder arbeitet am Frontend. Einige sind reine serverseitige Entwickler. Einige sind reine clientseitige Entwickler. Trotzdem müssen wir alle zusammenarbeiten, um sicherzustellen, dass die verschiedenen Teile unserer Anwendungen miteinander kommunizieren.

Zu diesem Zweck ist es zumindest wichtig zu verstehen, wie Daten von der Clientseite über JavaScript an die Serverseite gesendet werden und wie sie auf der Serverseite verarbeitet und anschließend zur Clientseite zurückgegeben werden, um auf beliebige Weise verwendet zu werden.

Schreiben Sie JavaScript nicht so schnell ab, nur weil Sie kein Front-End-Entwickler sind. Wahrscheinlich nutzt jemand, mit dem Sie arbeiten, es und benötigt Ihre Arbeit, um Teile der Anwendung miteinander zu verbinden.

Zugegeben, dieser Artikel kratzt nur an der Oberfläche. Wie ich zu Beginn sagte, soll der Artikel erklären, was JavaScript ist, wie es verwendet wird und was davon zu erwarten ist, insbesondere für diejenigen, die gerade erst mit der Sprache beginnen.

JavaScript ist zu einer der De-facto-Sprachen geworden, die im Web arbeiten. Es ist nicht ohne Lernkurven, und es gibt viele Frameworks und Bibliotheken, um Sie zu beschäftigen. Wenn Sie nach zusätzlichen Ressourcen suchen, um zu studieren oder in Ihrer Arbeit zu verwenden, schauen Sie nach, was wir auf dem Envato-Marktplatz zur Verfügung haben.

Wenn Ihnen dieser Artikel gefallen hat, können Sie meine Kurse und Tutorials auch auf meiner Profilseite überprüfen. Wenn Sie interessiert sind, können Sie weitere Artikel über die Entwicklung von WordPress und WordPress in meinem Blog lesen. 

Zusätzliche Ressourcen

  • Head First JavaScript-Programmierung
  • Eloquent JavaScript von Marijn Haverbeke
  • Douglas Crockfords JavaScript: Die guten Teile
  • JavaScript im Mozilla Developer Network