Glossar
Hier findet sich eine Sammlung wichtiger Konzepte und Begriffe mit kurzen Erläuterungen.
Bei Bedarf hilft das Glossar, Begriffe nachzuschlagen und deren Definitionen zu finden.
Grundbegriffe
Anweisung
Eine Anweisung (engl. statement) ist eine einzelne ausführbare Einheit
im Programmcode, z. B. eine Variablendeklaration, eine Zuweisung, ein
Funktionsaufruf oder eine Kontrollstruktur wie if oder while.
Argument
Siehe Parameter.
Array
Ein Array (auch Liste oder Feld genannt) ist eine Datenstruktur, die
mehrere Werte in einer geordneten Reihenfolge speichert. In JavaScript
werden Arrays mit eckigen Klammern erstellt: let zahlen = [1, 2, 3];.
Die Elemente werden über einen Index angesprochen, der bei 0 beginnt.
Ausdruck
Ein Ausdruck (engl. expression) ist ein Teil des Codes, der zu einem
Wert ausgewertet wird. Beispiele: 5, 2 + 3, myVariable,
Math.random(). Ausdrücke können miteinander kombiniert werden.
Bedingung
Eine Bedingung ist ein Ausdruck, der zu einem Boolean
ausgewertet wird (true oder false). Bedingungen steuern den Ablauf bei
Verzweigungen (if) und Schleifen (while, for).
Bezeichner
Ein Bezeichner (engl. identifier) ist ein selbstgewählter Name für
Variablen, Konstanten, Funktionen oder Klassen. Bezeichner dürfen aus
Buchstaben, Ziffern, _ und $ bestehen, aber nicht mit einer Ziffer
beginnen und keine Schlüsselwörter sein.
Block
Der Bereich zwischen geschweiften Klammern ({...}) wird auch Block
genannt. Siehe auch Gültigkeitsbereich.
Boolean
Ein Datentyp für Wahrheitswerte mit genau zwei möglichen Werten:
true (wahr) und false (falsch). Booleans werden häufig in
Bedingungen für Verzweigungen und Schleifen verwendet.
Bug
Ein Bug ist ein Fehler im Programm, der zu unerwartetem Verhalten führt.
Bugs können Syntaxfehler sein (Code lässt sich nicht ausführen)
oder Laufzeitfehler (Fehler während der Ausführung).
Das Finden und Beheben von Bugs heißt Debugging.
CamelCase
Eine Namenskonvention, bei der zusammengesetzte Bezeichner ohne
Leerzeichen geschrieben werden und jedes neue Wort (außer dem ersten)
mit einem Großbuchstaben beginnt, z. B. myVariableName oder firstName.
Für Klassen wird PascalCase verwendet, bei dem auch das erste Wort
großgeschrieben wird (z. B. MyClass). In anderen Sprachen wie Python
ist snake_case üblich (z. B. my_variable).
Datentyp
Datentypen legen fest, welche Art von Werten eine Variable speichern
kann. In JavaScript gibt es u.a. number, string, boolean, object,
undefined und null. Außerdem existieren bigint für sehr große Zahlen
und symbol für eindeutige Bezeichner, die wir hier nicht behandeln.
JavaScript ist dynamisch typisiert, d.h. der Typ wird zur Laufzeit ermittelt.
Default
Default (Standardwert) bezeichnet den Wert oder die Einstellung, die gilt,
wenn nichts anderes angegeben ist. In JavaScript können z. B. Funktionen
Default-Parameter haben: function greet(name = "Welt") { ... }.
Deklaration
Die Deklaration führt eine Variable oder Konstante mit einem Namen ein,
ohne ihr zwingend einen Wert zuzuweisen. Variablen werden mit let
und Konstanten mit const deklariert, z. B. let myVariable;.
Funktion
Eine Funktion ist ein benannter Codeblock, der Anweisungen zusammenfasst
und bei Bedarf aufgerufen werden kann. Funktionen können Parameter
entgegennehmen und einen Rückgabewert zurückliefern.
Sie werden mit dem Schlüsselwort function deklariert. Alternativ gibt es
auch Arrow Functions (() => {}) und Funktionsausdrücke.
Funktionsaufruf
Ein Funktionsaufruf führt den Code einer zuvor deklarierten Funktion aus.
Er besteht aus dem Funktionsnamen gefolgt von runden Klammern mit
optionalen Argumenten, z. B. console.log("Hallo"); oder myFunction(5, 10);.
Funktionsrumpf
Durch geschweifte Klammern ({...}) umgebener „Code-Inhalt” der Funktion.
Gültigkeitsbereich
Der Gültigkeitsbereich (engl. scope) definiert für eine Variable
oder Konstante den Bereich im Code, in dem diese Variable (Konstante)
bekannt ist. Er wird in JavaScript durch geschweifte
Klammern ({...}) festgelegt (z. B. ein Funktionsrumpf oder der Code-Block
bei if oder while). Für eine bestimmte Variable oder Konstante ist
der Gültigkeitsbereich durch die nächsten, umgebenden geschweiften
Klammern zu finden. Variablen mit let und Konstanten mit const sind
innerhalb ihres Gültigkeitsbereich eindeutig und außerhalb nicht bekannt.
Initialisierung
Die Initialisierung ist die Kombination aus Deklaration
und erster Zuweisung eines Wertes, z. B. let x = 5;.
Konstanten müssen bei der Deklaration initialisiert werden.
Iteration
Ein einzelner Durchlauf einer Schleife. Bei einer for-
oder while-Schleife wird der Schleifenrumpf in jeder Iteration einmal
ausgeführt.
Klasse
Eine Klasse ist ein „Bauplan” für Objekte mit gleicher Struktur.
Sie definiert Instanzvariablen und Methoden.
Mit new ClassName() werden Instanzen erzeugt. Beispiel:
class Person { constructor(name) { this.name = name; } }.
Kommentar
Kommentare sind Anmerkungen im Code, die nicht ausgeführt werden.
Einzeilige Kommentare beginnen mit //, mehrzeilige stehen zwischen
/* und */. Kommentare dienen der Dokumentation und Erklärung.
Konkatenation
Das Aneinanderfügen von Strings mit dem +-Operator,
z. B. "Hallo " + "Welt" ergibt "Hallo Welt".
Konstante
Eine Konstante ist ähnlich wie eine Variable ein benannter Speicherplatz,
der aber nach der Initialisierung nicht mehr geändert werden kann.
Konstanten werden mit const deklariert und müssen direkt einen Wert erhalten.
Achtung: Bei Objekten und Arrays ist nur die Referenz unveränderlich –
die Inhalte können weiterhin geändert werden (z. B. arr.push(1) funktioniert).
Konstruktor
Ein Konstruktor ist eine spezielle Methode einer Klasse, die
beim Erzeugen einer Instanz mit new aufgerufen wird.
In JavaScript wird der Konstruktor mit constructor(...) definiert und
initialisiert die Instanzvariablen.
Kontrollstruktur
Kontrollstrukturen steuern den Ablauf eines Programms. Dazu gehören
Verzweigungen (if, else, switch) und
Schleifen (for, while).
Laufzeit
Die Laufzeit (engl. runtime) ist der Zeitraum, in dem ein Programm ausgeführt
wird. Laufzeitfehler treten während der Ausführung auf (z. B. Division durch 0),
im Gegensatz zu Syntaxfehlern, die vor der Ausführung erkannt werden.
JavaScript ist dynamisch typisiert, d.h. Typen werden zur Laufzeit ermittelt.
Literal
Ein Literal ist ein direkt im Code angegebener Wert, z. B. die Zahl 42,
der String "Hello" oder der Boolean true. Literale repräsentieren
feste Werte ohne Berechnung.
Methode
Eine Methode ist eine Funktion, die zu einem Objekt gehört und über
dieses aufgerufen wird, z. B. console.log() oder myArray.push(5).
null
null ist ein spezieller Wert, der bewusst „kein Wert” oder „leer” bedeutet.
Im Gegensatz zu undefined (nicht initialisiert) wird null
absichtlich zugewiesen, um anzuzeigen, dass eine Variable keinen Wert hat.
Objekt
Ein Objekt ist eine Datenstruktur, die Eigenschaften (key-value-Paare)
zusammenfasst, z. B. let person = {name: "Anna", age: 25};. Auf
Eigenschaften wird mit Punktnotation zugegriffen: person.name.
Operator
Operatoren führen Operationen auf Werten durch. Es gibt arithmetische
Operatoren (+, -, *, /), Vergleichsoperatoren (===, !==, <, >),
logische Operatoren (&&, ||, !) und den Zuweisungsoperator (=).
Parameter
Parameter (auch Argumente genannt) sind Werte, die an eine Funktion
übergeben werden. Sie werden in den Klammern bei der Funktionsdeklaration
definiert und beim Aufruf mit konkreten Werten befüllt.
Rückgabewert
Der Rückgabewert (engl. return value) ist das Ergebnis, das eine
Funktion mit return zurückliefert. Ohne explizites return gibt
eine Funktion in JavaScript undefined zurück.
Schleife
Schleifen (engl. loops) wiederholen einen Codeblock, solange eine
Bedingung erfüllt ist. In JavaScript gibt es for-, while- und
do-while-Schleifen. Siehe auch Iteration.
Schlüsselwort
Schlüsselwörter (engl. keywords) sind reservierte Wörter mit
vordefinierter Bedeutung in JavaScript, z. B. let, const, function,
if, else, for, while, return. Sie dürfen nicht als
Bezeichner verwendet werden.
String
Ein String ist eine Zeichenkette bzw. Text. In JavaScript können
Strings mit einfachen ('...'), doppelten ("...") Anführungszeichen
oder Backticks (`...`) erstellt werden. Letztere ermöglichen
Template-Strings.
Syntax
Die Syntax sind die Regeln für den Aufbau gültiger Anweisungen
in einer Programmiersprache. Syntaxfehler (z. B. fehlende Klammern) werden
vor der Ausführung erkannt und führen zu einem SyntaxError.
Siehe auch Semantik.
Template-String
Template-Strings werden mit Backticks (`...`) umschlossen und
ermöglichen String-Interpolation: Mit ${...} können JavaScript-Ausdrücke
direkt eingebettet werden, z. B. `Hallo ${name}!`.
this
this ist ein Schlüsselwort, das innerhalb einer Klasse oder
Methode auf das aktuelle Objekt verweist. Im Konstruktor
wird this verwendet, um Instanzvariablen zu setzen:
this.name = name;.
typeof
Der typeof-Operator ermittelt den Datentyp eines Ausdrucks und gibt
diesen als String zurück, z. B. typeof 42 ergibt "number" und
typeof "Hi" ergibt "string".
undefined
undefined ist ein spezieller Wert in JavaScript, der anzeigt, dass
eine Variable deklariert, aber noch nicht initialisiert wurde, oder
dass eine Funktion keinen Rückgabewert hat.
Variable
Eine Variable ist ein benannter Speicherplatz für Werte. Sie wird mit
let deklariert und kann im Laufe des Programms unterschiedliche
Werte annehmen. Siehe auch Konstante.
Verzweigung
Eine Verzweigung (auch Fallunterscheidung) ermöglicht es, Code nur unter
bestimmten Bedingungen auszuführen. In JavaScript gibt es if, else if,
else und switch für Verzweigungen.
Zuweisung
Eine Zuweisung weist einer Variablen einen Wert zu. Der Zuweisungsoperator
ist =, z. B. x = 10;. Der Wert auf der rechten Seite wird der
Variablen auf der linken Seite zugewiesen.
Weiterführende Begriffe
API
Eine API (Application Programming Interface) ist eine Schnittstelle, über die
Programme miteinander kommunizieren können. Web-APIs ermöglichen den Zugriff
auf Daten und Funktionen über das Internet, z. B. Wetterdaten oder Kartendienste.
Arrow Function
Arrow Functions (Pfeilfunktionen) sind eine kompakte Syntax für Funktionen
mit => anstatt function. Beispiel: const add = (a, b) => a + b;.
Bei nur einem Parameter können die Klammern weggelassen werden.
async/await
async und await vereinfachen die Arbeit mit Promises.
Eine mit async deklarierte Funktion kann await verwenden, um auf
das Ergebnis eines Promise zu warten, ohne Callbacks zu benötigen.
Callback
Ein Callback ist eine Funktion, die als Argument an eine andere Funktion
übergeben wird und später aufgerufen wird. Callbacks werden häufig für
asynchrone Operationen oder Event-Handler verwendet.
Compiler
Ein Compiler übersetzt Quellcode einer Programmiersprache vollständig in
eine andere Sprache (z. B. Maschinencode), bevor das Programm ausgeführt wird.
Der TypeScript-Compiler übersetzt TypeScript-Code in JavaScript-Code.
Siehe auch Interpreter.
Debugging
Debugging ist der Prozess, Fehler im Code zu finden und zu beheben.
Mit Debugging-Tools wie in VS Code kann Code schrittweise ausgeführt
und der Zustand von Variablen inspiziert werden. Breakpoints markieren
Stellen, an denen die Ausführung pausieren soll.
Destrukturierung
Destrukturierung ermöglicht es, Werte aus Arrays oder Objekten
in einzelne Variablen zu entpacken. Beispiele:
const [a, b] = [1, 2]; oder const {name, age} = person;.
Siehe auch Spread-Operator.
ESLint
ESLint ist ein weit verbreitetes Werkzeug zur statischen Code-Analyse
für JavaScript und TypeScript. Es erkennt potenzielle Fehler und
Stilprobleme im Code und hilft, einheitliche Code-Konventionen einzuhalten.
export
Mit export werden Funktionen, Klassen oder Variablen aus einem
Modul für andere Dateien verfügbar gemacht.
Siehe Modul.
fetch
fetch ist eine Funktion zum Laden von Daten aus dem Web. Sie gibt ein
Promise zurück und wird häufig mit async/await
verwendet: const response = await fetch(url);.
Git
Git ist ein Versionsverwaltungssystem, das Änderungen an Dateien verfolgt
und die Zusammenarbeit im Team ermöglicht. Mit Git können verschiedene
Versionen eines Projekts gespeichert und bei Bedarf wiederhergestellt werden.
GitHub
GitHub ist eine Plattform zum Hosten von Git-Repositories
im Internet. Teams können dort gemeinsam an Code arbeiten, Änderungen
vorschlagen (Pull Requests) und Projekte verwalten. Alternativen sind
GitLab und Codeberg .
IDE / Editor
Eine IDE (Integrated Development Environment) ist eine Entwicklungsumgebung
mit Editor, Debugging-Tools und weiteren Funktionen.
VS Code ist ein populärer Code-Editor mit IDE-ähnlichen Features
für JavaScript-Entwicklung.
import
Mit import werden Funktionen, Klassen oder Variablen aus einem
anderen Modul in die aktuelle Datei eingebunden.
Siehe Modul.
Instanz
Eine Instanz ist ein konkretes Objekt, das anhand einer Klasse
mit new erzeugt wurde. Jede Instanz hat eigene Werte für die
Instanzvariablen der Klasse.
Instanzvariable
Instanzvariablen sind Eigenschaften, die zu einer Instanz
einer Klasse gehören. Jedes Objekt hat eigene Werte für
seine Instanzvariablen, z. B. person.name oder person.age.
Interpreter
Ein Interpreter führt Quellcode Zeile für Zeile aus, ohne ihn vorher
vollständig zu übersetzen. JavaScript wird von einem Interpreter
ausgeführt, der im Browser oder in Node.js integriert ist.
Siehe auch Compiler.
JSON
JSON (JavaScript Object Notation) ist ein textbasiertes Datenformat zum
Austausch von Daten. Es ähnelt der JavaScript-Objektsyntax und wird häufig
für APIs verwendet. Mit JSON.parse() und JSON.stringify()
kann zwischen JSON-Text und JavaScript-Objekten konvertiert werden.
Map
Eine Map ist eine Datenstruktur für Schlüssel-Wert-Paare, ähnlich wie
Objekte, aber mit optimierter Performance und hilfreichen
Methoden wie get(), set(), has() und delete().
Beispiel: const m = new Map(); m.set('key', 'value');.
Modul
Ein Modul ist eine eigenständige JavaScript-Datei, die Code kapselt und
wiederverwendbar macht. Mit export werden Funktionen, Klassen
oder Variablen nach außen verfügbar gemacht, mit import können
diese in anderen Dateien verwendet werden. Beispiel:
export function add(a, b) { return a + b; } und import { add } from './math.js';.
NaN
NaN (Not a Number) ist ein spezieller Wert vom Datentyp number,
der ein ungültiges Rechenergebnis darstellt, z. B. 0 / 0 oder parseInt("abc").
Mit isNaN(wert) kann geprüft werden, ob ein Wert NaN ist.
Node.js
Node.js ist eine Laufzeitumgebung, die es ermöglicht, JavaScript außerhalb
des Browsers auszuführen, z. B. auf Servern oder als Kommandozeilenprogramme.
Node.js enthält einen JavaScript-Interpreter und bietet
Zugriff auf Dateisystem, Netzwerk und andere Systemressourcen.
npm
npm (Node Package Manager) ist der Paketmanager für Node.js.
Mit npm install paketname werden Pakete (Bibliotheken) installiert, die in
der package.json verwaltet werden. Das Verzeichnis node_modules
enthält die installierten Pakete.
package.json
Die package.json ist die zentrale Konfigurationsdatei eines Node.js-Projekts.
Sie enthält Metadaten (Name, Version), Abhängigkeiten zu anderen Paketen und
Skripte für häufige Aufgaben. Mit npm init wird eine neue package.json erstellt.
Promise
Ein Promise repräsentiert das Ergebnis einer asynchronen Operation, das
erst in der Zukunft verfügbar sein wird. Mit .then() kann auf das
Ergebnis reagiert werden, oder einfacher mit async/await.
Refactoring
Refactoring ist das Überarbeiten von Code, ohne das äußere Verhalten zu ändern,
um Lesbarkeit, Struktur oder Wartbarkeit zu verbessern. Beispiele sind das
Aufteilen großer Funktionen oder das Umbenennen von Variablen.
Regulärer Ausdruck
Reguläre Ausdrücke (engl. regular expressions, kurz RegExp) beschreiben
Textmuster zur Überprüfung von Strings. In JavaScript werden sie zwischen
Schrägstrichen definiert: /[A-Za-z]+/. Mit test() wird geprüft, ob
ein String zum Muster passt. Siehe regexlearn.com .
Semantik
Semantik bezeichnet die Bedeutung von Code – was der Code tatsächlich bewirkt.
Ein Programm kann syntaktisch korrekt sein, aber semantisch falsch (z. B.
if (x = 5) statt if (x === 5)). Siehe auch Syntax.
Set
Ein Set ist eine Datenstruktur, die Werte ohne Duplikate speichert –
wie eine mathematische Menge. Elemente werden mit add() hinzugefügt
und mit has() geprüft. Beispiel: const s = new Set(); s.add('a');.
Spread-Operator
Der Spread-Operator ... „entpackt” Elemente aus Arrays oder
Objekten. Beispiele: [...arr1, ...arr2] kombiniert Arrays,
{...obj, name: "neu"} kopiert ein Objekt mit Änderung.
Siehe auch Destrukturierung.
Terminal
Das Terminal (auch Kommandozeile oder Konsole) ist eine textbasierte
Schnittstelle zur Ausführung von Befehlen. In VS Code ist ein
Terminal integriert, über das z. B. Node.js-Programme mit
node datei.js oder npm-Befehle ausgeführt werden.
TypeScript
TypeScript ist eine von Microsoft entwickelte Erweiterung von JavaScript,
die statische Typisierung hinzufügt. TypeScript-Code wird durch einen
Compiler in JavaScript übersetzt und kann dann im Browser
oder in Node.js ausgeführt werden.
Vererbung
Vererbung ermöglicht es, eine neue Klasse (Subklasse) von einer
bestehenden Klasse abzuleiten. Die Subklasse erbt alle Eigenschaften und
Methoden und kann diese erweitern. In JavaScript wird Vererbung
mit extends definiert: class Student extends Person { }.
VS Code
Visual Studio Code (VS Code) ist ein kostenloser,
weit verbreiteter Code-Editor von Microsoft. Er bietet Syntax-Highlighting,
Debugging, integriertes Terminal, Git-Integration
und zahlreiche Erweiterungen für JavaScript und TypeScript.