5.1 JavaScript-Geschichte, ES5/ES6
Was war das Hauptmerkmal der ersten Webseiten im World Wide Web?
Die meisten frühen Webseiten waren statisch, dominierten das Web und boten nur wenig Interaktivität.
Was war SPIRES und warum war es bedeutsam?
SPIRES war eine der ersten dynamischen Webseiten, die eine Suche nach wissenschaftlichen Publikationen ermöglichte und das Konzept des Request-Response-Cycles nutzte.
Was ist der Request-Response-Cycle?
Der Request-Response-Cycle beschreibt den Ablauf, bei dem der Browser eine Anfrage (Request) an den Server sendet und als Antwort (Response) eine neue Webseite erhält.
Warum war der Request-Response-Cycle für kleine Operationen, wie das Ausklappen einer Navigation, ungeeignet?
Weil immer eine neue Webseite aufgebaut werden musste, was zeitaufwendig und ineffizient war.
Wann und von wem wurde die Notwendigkeit der Programmierbarkeit von Browsern erklärt?
1995 wurde die Notwendigkeit der Programmierbarkeit von Browsern von Netscape erklärt, dem größten Browserhersteller zu dieser Zeit.
Warum wurde JavaScript ursprünglich entwickelt?
JavaScript wurde 1995 von Netscape entwickelt, um Webseiten interaktiver zu machen und eine Alternative zu Java-Applets zu bieten.
Was ist der Unterschied zwischen JavaScript und Java?
JavaScript hat nichts mit der Programmiersprache Java zu tun. Der Name wurde nur aus Marketingzwecken gewählt.
Welche Bedeutung hat Node.js für die Entwicklung von JavaScript?
Mit der Einführung von Node.js im Jahr 2009 konnte JavaScript auch serverseitig genutzt werden, wodurch es sich zu einer wichtigen Programmiersprache für Web-Anwendungen entwickelte.
Was ist ein JavaScript-Framework?
Ein JavaScript-Framework ist eine Sammlung von Code, die das Entwickeln von Web-Applikationen erleichtert, indem es Inkompatibilitäten zwischen Browsern behebt und die Programmierung vereinfacht.
Was brachte ECMAScript 5/ES5 für Neuerungen?
ECMAScript 5/ES5 führte den „strict mode“ ein, verbesserte die Code-Qualität, ermöglichte Getter & Setter, und brachte nützliche Funktionen für Arrays sowie Unterstützung für JSON.
Welche Bedeutung hatte die Einführung von AJAX im Jahr 2005?
AJAX ermöglichte es, nur Teile einer Webseite neu zu laden, anstatt die gesamte Seite, was zu einer erheblichen Verbesserung der Web-Applikationen führte.
Was ist der Vorteil von React.js gegenüber früheren Frameworks?
React.js, eingeführt 2013 von Facebook, verbindet JavaScript und HTML in sogenannten Komponenten und ermöglicht dadurch eine bessere Strukturierung von Web-Anwendungen.
Was sind die Vorteile von WebAssembly im Vergleich zu JavaScript?
WebAssembly erlaubt eine schnellere Programmierung von Browsern als JavaScript und schützt den Code vor Modifikationen und Kopien.
Welche Rolle spielt ECMAScript 2015/ES6 in der heutigen Webentwicklung?
ECMAScript 2015/ES6 bildet die Grundlage der heutigen JavaScript-Versionen, die in modernen Browsern verwendet werden.
Was ist der Unterschied zwischen Interpreter-Sprachen (JavaScript) und Compiler-Sprachen?
Interpreter-Sprachen werden zur Laufzeit übersetzt, was zu etwas langsamerer Ausführung führt, während das Ergebnis sofort sichtbar ist. Compiler-Sprachen hingegen übersetzen den gesamten Code vor der Ausführung, was schneller ist, aber das Ergebnis ist erst nach der Kompilierung sichtbar.
5.2 JavaScript-Grundlagen
Warum gilt JavaScript als nahezu universelle Programmiersprache?
JavaScript kann auf fast allen Geräten der Welt genutzt werden, da jeder Webbrowser in der Lage ist, JavaScript auszuführen.
Was war die ursprüngliche Aufgabe von JavaScript, und wie hat sich die Sprache über die Jahre entwickelt?
Die ursprüngliche Aufgabe von JavaScript war es, HTML-Seiten dynamisch und interaktiv zu machen. Über die Jahre ist die Sprache jedoch gewachsen und deckt nun viele weitere Anforderungen ab.
Welche Rolle spielt das Testen bei JavaScript und warum?
Da JavaScript eine dynamisch typisierte Sprache ist, können Programme fehlerhaft sein und die Fehler erst spät entdeckt werden. Daher ist das Testen bei JavaScript von großer Bedeutung.
Wie wird JavaScript in HTML eingebunden?
JavaScript-Code wird in HTML mit dem <script>-Tag eingebettet. Der Code kann entweder direkt in die HTML-Datei geschrieben oder über das src-Attribut von einer externen Datei geladen werden.
<script>
src
Warum wird JavaScript oft über das src-Attribut eingebunden?
Bei umfangreichem Code macht es Sinn, diesen extern zu laden, damit die HTML-Datei kleiner bleibt und der Browser den Code cachen kann.
Wie ist die Syntax von JavaScript mit der von „C“ verwandt?
JavaScript verwendet eine ähnliche Syntax wie „C“, was die Einarbeitung erleichtert, auch wenn die Sprachen in ihren Funktionen unterschiedlich sind.
Warum ist das Testen von JavaScript im Browser so einfach?
Browser verfügen über eine Entwicklerkonsole, in der man JavaScript-Befehle direkt eingeben und das Ergebnis sofort sehen kann.
Was ist das DOM, und wie nutzt JavaScript es?
Das DOM ist die hierarchische Struktur, die der Browser aus dem HTML-Dokument erstellt. JavaScript verwendet das DOM, um Inhalte auf der Webseite dynamisch zu ändern.
Wie kann JavaScript auf HTML-Elemente zugreifen?
Elemente können z. B. mit document.getElementsByTagName() selektiert werden, das eine Liste (HTMLCollection) von Elementen zurückgibt.
document.getElementsByTagName()
Wie wird der Inhalt eines HTML-Elements geändert?
Der Inhalt eines Elements kann über innerHTML geändert werden, z. B.:document.getElementsByTagName("h1")[0].innerHTML = "Neuer Text";
innerHTML
document.getElementsByTagName("h1")[0].innerHTML = "Neuer Text";
Wie behandelt JavaScript Groß- und Kleinschreibung?
JavaScript unterscheidet zwischen Groß- und Kleinschreibung. Variablen wie Möglich und möglich sind also unterschiedlich.
Möglich
möglich
Wie werden Variablen in JavaScript deklariert?
Mit den Schlüsselwörtern const, let oder var.
const
let
var
Was ist der Unterschied zwischen const, let und var?
const definiert eine Konstante, die nicht geändert werden kann.
let definiert eine veränderbare Variable, deren Gültigkeit auf den aktuellen Block beschränkt ist.
var hat eine breitere Gültigkeit und verhält sich unvorhersehbar, weshalb es heute eher vermieden wird.
Warum wird var nicht mehr empfohlen?
var kann vor der Deklaration verwendet werden, was zu unerwartetem Verhalten führen kann. Daher werden let und const bevorzugt.
Was bedeutet dynamische Typisierung in JavaScript?
JavaScript entscheidet zur Laufzeit, welchen Typ eine Variable hat, sodass der Programmierer dies nicht explizit angeben muss.
Was sind Objekte in JavaScript, und wie werden sie verwendet?
Objekte sind Datenstrukturen, die Informationen in Form von Schlüssel-Wert-Paaren speichern. Sie werden genutzt, um komplexe Daten besser zu organisieren.
Wie greift man auf die Eigenschaften eines Objekts zu?
Mit der Punktnotation (objekt.name) oder mit eckigen Klammern (objekt["name"]).
objekt.name
objekt["name"]
Was ist der Unterschied zwischen Arrays und Objekten?
Arrays sind eine spezielle Art von Objekten, die geordnete Listen von Werten speichern, während Objekte ungeordnete Schlüssel-Wert-Paare speichern.
Wie bestimmt man die Länge eines Arrays?
Die Länge eines Arrays wird mit der length-Eigenschaft ermittelt:list.length
length
list.length
Was passiert, wenn man ein Objekt einer anderen Variablen zuweist?
Es wird keine Kopie erstellt, sondern eine Referenz. Änderungen an der neuen Variablen betreffen also auch das ursprüngliche Objekt.
Was ist eine if-Anweisung in JavaScript?
Eine if-Anweisung führt einen Codeblock nur dann aus, wenn die angegebene Bedingung wahr (true) ist.
Was passiert, wenn eine Bedingung null, false, 0 oder undefined ist? (if Anweisung)
null
false
0
undefined
Der Codeblock wird nicht ausgeführt, da die Bedingung als falsch (false) bewertet wird.
Welche Vergleichsoperatoren gibt es in JavaScript?
JavaScript unterstützt Operatoren wie ==, ===, !=, !==, <, <=, >, >=.
==
===
!=
!==
<
<=
>
>=
Was ist der Unterschied zwischen == und ===?
== prüft, ob die Werte gleich sind, während === zusätzlich den Datentyp vergleicht und auf strikte Gleichheit prüft.
Was sind logische Verknüpfungen?
Logische Verknüpfungen wie && (UND), || (ODER) und ! (NICHT) verbinden Bedingungen, um komplexere Abfragen zu ermöglichen.
&&
||
!
Was ist eine Schleife, und warum wird sie verwendet?
Eine Schleife führt denselben Codeblock wiederholt aus, solange eine bestimmte Bedingung erfüllt ist. Sie wird verwendet, um wiederholte Aufgaben effizienter zu erledigen.
Welche Schleifen gibt es in JavaScript?
for-Schleife: Läuft eine feste Anzahl von Durchläufen durch.
for (let i = 0; i < 5; i++) {
console.log(i);
}
while-Schleife: Führt den Codeblock aus, solange die Bedingung wahr ist.
let i = 0;
while (i < 5) {
i++;
do-while-Schleife: Führt den Codeblock mindestens einmal aus, bevor die Bedingung geprüft wird.
do {
} while (i < 5);
Wie werden Klassen in JavaScript definiert?
Mit dem class-Schlüsselwort können Klassen erstellt werden, die Vorlagen für Objekte sind:
class
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
greet() {
console.log(`Hello, my name is ${this.name}`);
const person1 = new Person("Alice", 30);
person1.greet(); // "Hello, my name is Alice"
Was sind Konstruktoren?
Der constructor() ist eine spezielle Methode, die beim Erstellen eines neuen Objekts aufgerufen wird. Sie initialisiert die Eigenschaften des Objekts.
constructor()
Was bedeutet Vererbung in JavaScript?
Mit Vererbung können Klassen andere Klassen erweitern und deren Eigenschaften und Methoden übernehmen. Dies wird mit dem Schlüsselwort extends erreicht.
extends
5.3 Verwendung von JSON
Was ist JSON und wofür wird es häufig in Webanwendungen verwendet?
JSON (JavaScript Object Notation) ist ein Datenformat, das häufig zum Austausch von Daten zwischen Webanwendungen und Datenbanken oder REST-Services verwendet wird. Es wird genutzt, um Daten zu laden oder dauerhaft zu speichern.
Wie ist eine JSON-Datei strukturiert?
Eine JSON-Datei beginnt mit geschweiften Klammern {…}. Darin stehen Schlüssel-Wert-Paare, die durch einen Doppelpunkt getrennt sind. Die Schlüssel stehen in Anführungszeichen, und die einzelnen Einträge werden durch Kommas getrennt.
{…}
Welche Datentypen unterstützt JSON?
JSON unterstützt folgende Datentypen:
Null: null
Boolean: true oder false
true
Number: Ganz- oder Kommazahlen
String: Zeichenketten
Array: Liste von Elementen aus den anderen Datentypen
Object: Verschachtelte Objekte in {…}
Was ist REST und wie interagiert es mit JSON?
REST (Representational State Transfer) ist eine Architektur für Web-Services über HTTP. Daten werden per GET-Befehl abgerufen und per POST-Befehl hochgeladen. JSON wird oft als Format zum Datenaustausch in REST-basierten Web-Services verwendet.
Wie kann man in JavaScript JSON-Daten verarbeiten?
JavaScript hat native Funktionen für JSON:
JSON.stringify(objekt): Wandelt ein Objekt in einen JSON-String um.
JSON.stringify(objekt)
JSON.parse(jsonData): Wandelt einen JSON-String in ein JavaScript-Objekt um.
JSON.parse(jsonData)
fetch(url): Lädt Daten von einer URL, oft in Form von JSON, und kann asynchron mit await verwendet werden.
fetch(url)
await
Was macht der Befehl fetch(url) in JavaScript und wofür wird er verwendet?
Der Befehl fetch(url) lädt Daten von einer angegebenen URL, die verschiedene Formate (JSON, Bilder, PDFs etc.) haben können. Da dieser Vorgang zeitabhängig ist, wird die Funktion asynchron ausgeführt und kann mit dem await-Präfix genutzt werden.
Wie sieht eine typische JSON-Struktur aus, um eine Person und deren Eigenschaften zu beschreiben?
Ein JSON-Beispiel zur Beschreibung einer Person könnte so aussehen:
{
"firstName": "John",
"lastName": "Smith",
"isAlive": true,
"age": 27,
"address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021–3100" },
"phoneNumbers": [ { "type": "home", "number": "212 555–1234" }, { "type": "office", "number": "646 555–4567" } ],
"children": ["Catherine", "Thomas", "Trevor"],
"spouse": null
Wie lädt man JSON-Daten in ein JavaScript-Objekt und gibt es aus?
Man lädt JSON-Daten mit dem fetch-Befehl, wandelt sie mit response.json() in ein JavaScript-Objekt um und kann sie dann verwenden, zum Beispiel mit:
fetch
response.json()
const response = await fetch("person.json");
const json = await response.json();
console.log(json);
5.4 Gängige JavaScript-Frameworks
Was ist der Unterschied zwischen einer Bibliothek und einem Framework?
Eine Bibliothek ist eine Sammlung von Klassen und Funktionen für einen spezifischen Zweck, die unabhängig voneinander verwendet werden können.
Ein Framework ist ein fertiges Gerüst für bestimmte Arten von Programmen und gibt genau vor, welcher Code geschrieben werden muss, um es zu verwenden.
Was ist eine Single-Page-Application (SPA) und wie funktioniert sie?
Eine Single-Page-Application (SPA) lädt beim Start der App den gesamten Code auf einmal und danach keine neuen HTML-Seiten mehr. Die gesamte Bedienlogik läuft im Browser, wodurch die App sich wie eine native App anfühlt.
Was war die Rolle von jQuery in der JavaScript-Entwicklung und wie wird es heute genutzt?
jQuery wurde entwickelt, um das Arbeiten mit JavaScript zu erleichtern, indem es eine plattformübergreifende API bereitstellte, die browserübergreifende Kompatibilität ermöglichte. Es wird immer noch verwendet, aber viele seiner Funktionen sind heute direkt in Browsern integriert, weshalb es bei neuen Projekten kaum noch eingesetzt wird.
Welche Vorteile brachte Angular.js bei seiner Veröffentlichung im Jahr 2010?
Angular.js vereinfachte die Entwicklung von Single-Page-Applications (SPAs), indem es wiederverwendbare Komponenten ermöglichte und das MVVM-Entwurfsmuster verbreitete. Es wird oft in TypeScript geschrieben, einer statisch typisierten Version von JavaScript.
Was versteht man unter dem MVVM-Entwurfsmuster?
MVVM steht für "Model-View-View-Model" und ist ein Entwurfsmuster zur Trennung von Darstellung und Logik der Benutzeroberfläche (UI). Dadurch können Design (CSS) und Benutzungslogik (JavaScript) unabhängig voneinander entwickelt werden.
Was macht das Two-Way-Binding in Angular und anderen Frameworks?
Two-Way-Binding verbindet ein Eingabefeld mit einer Variablen im Modell. Änderungen im Eingabefeld oder in der Variablen werden wechselseitig sofort sichtbar, ohne dass zusätzliche Code-Anpassungen notwendig sind.
Was zeichnet React (2013) aus und warum ist es so beliebt?
React ermöglicht es, Webanwendungen mit Komponenten zu entwickeln, die HTML, CSS und JavaScript integrieren. Es ist besonders beliebt, weil es die Entwicklung von wiederverwendbaren und dynamischen UI-Komponenten erleichtert und von großen Plattformen wie Facebook und Instagram verwendet wird.
Was sind die Hauptmerkmale von Vue.js (2014), und warum wird es oft bevorzugt?
Vue.js kombiniert eine flache Lernkurve (ähnlich wie React) mit dem Two-Way-Binding (wie bei Angular). Es ist einfach zu erlernen, aber mächtig genug für komplexe Anwendungen. Deshalb wird es von vielen großen Firmen wie Facebook und Netflix verwendet.
Was ist Svelte und wie unterscheidet es sich von anderen Frameworks wie React oder Vue.js?
Svelte ist ein Web-Framework, das seit 2016 zunehmend an Beliebtheit gewinnt. Es ist besonders einfach zu erlernen und benötigt weniger Code als andere Frameworks wie React. Svelte führt viele Prozesse während der Kompilierung aus, anstatt sie im Browser durchzuführen.
Last changed3 months ago