Introduction to JavaScript
Einführung in JavaScript
- JavaScript ist eine Programmiersprache
- Zusammen mit HTML und CSS zählt sie zu den Kerntechnologien des World Wide Web.
- Haupteinsatzgebiet ist client-seitige Code-Ausführung im Browser
- Wichtigkeit nimmt im Server und Desktop-Bereich zu
Meist verwendete Programmiersprachen 2023
Eigenschaften
- nicht zu verwechseln mit Java
- interpretierte Sprache, nicht kompiliert
- dynamische Typisierung
- objektorientiert
- mehrere Paradigmen
- ereignisgesteuert (event-driven)
- funktional
- imperativ
Zum jetzigen Zeitpunkt sagen uns viele dieser Begriffe noch nichts. Keine Sorge, wir werden sie im Laufe des Semesters kennenlernen.
Ein erstes JavaScript Programm
Es genügt eine Textdatei mit der Endung “.js” anzulegen um darin ein JavaScript Programm zu schreiben.
Programmausführung
- Ein JavaScript Programm kann zum Beispiel vom Browser ausgeführt werden.
- Dazu wird die JavaScript-Datei im HTML Code referenziert.
- HTML = Struktur einer Website
- JavaScript = dynamische Logik einer Website
Programmausführung (2)
- Wir werden für die Ausführung unserer Programme hauptsächlich Node.js verwenden.
- Website: https://nodejs.org/
- Installation: Installer herunterladen, ausführen und Anweisungen folgen.
- Falls gefragt - NPM soll mit installiert werden
Node.js
- Node.js ist eine Laufzeitumgebung mit deren Hilfe JavaScript Programme außerhalb des Browsers ausgeführt werden können.
- Einsatzbereiche:
- JavaScript Programme auf dem Server ausführen
- Entwickler-Tool
- Basis für Desktop Applikationen die auf Website-Technologien basieren.
Programmausführung (3)
- Ein JavaScript Programm kann mit Node.js nach der Installation von Node.js im Terminal ausgeführt werden.
Terminal
- Terminal oder Kommandozeile ist eine textbasierte Benutzerschnittstelle.
- Unter Windows kann es gestartet werden indem das Programm “Eingabeaufforderung” ausgeführt wird.
- Der Benutzer gibt Kommandos als Text ein und bekommt Text als Antwort zurück.
- Im Beispiel zuvor ist das die Eingabe des Benutzers:
- und das die Ausgabe des Programms:
Wichtige Befehle im Terminal (Windows)
cd
= change directory; Wechselt in den angegebenen Ordner. zB:
dir
= directory; Listet den Inhalt des aktuellen Ordners- Ein Programm wird ausgeführt indem der Name des Programms (z.B. node) gefolgt von weiteren Parameters (wie z.B. der Dateiname) angegeben wird:
Die Sprache JavaScript
Ausgabe in der Konsole:
- Über den Befehl
console.log();
Kommentare
- Kommentare werden bei der Ausführung ignoriert.
- Sie sind nur für die Entwickler bestimmt
- Einzeilige Kommentare werden mit zwei Schrägstrichen gekennzeichnet
- Mehrzeilige Kommentare werden mit
/*
am Beginn und*/
am Ende gekennzeichnet
Programmbestandteile
Ein Softwareprogramm besteht aus einer Abfolge von Anweisungen. Wir unterscheiden zwischen:
- Deklarationen
- Instruktionen
Deklaration
Mit der Deklaration einer Variable wird einem Bezeichner ein Wert zugeordnet. Variablen werden zur Speicherung von Daten verwendet.
Instruktion (= Befehl)
Ein Befehl ist ein definierter Einzelschritt, der von einem Computer ausgeführt werden kann. Darunter fallen:
- Werte von Variablen verändern
- Entscheidungen treffen
- Bildschirmausgaben
Datentypen
Eine Variable wird für die Verwaltung von Daten verwendet. Sie besitzt einen Namen (Identifier) und einen Wert.
Werte können dabei bestimmten Datentypen angehören.
Ein Datentyp bestimmt welche Werte gespeichert werden können.
Speicherbereiche
Mit einer Variable wird ein Teil des Arbeitsspeichers verwaltet. Dem Namen der Variable wird die Speicherzelle zugeordnet, mit der der für sie reservierte Speicherbereich beginnt.
Eine Variable ist also technisch gesehen nur eine Adresse im Speicher.
Variablen in JavaScript
- früher: Schlüsselwort
var
- sollte nicht mehr verwendet werden
let
: ein Wert der später geändert werden kannconst
: ein Wert der später nicht mehr geändert werden kann- Syntax:
let variablenname = variablenwert;
Identifier / Bezeichner
- Einen Variablennamen nennt man auch Identifier
- Über den Namen identifizieren wir den darunter liegenden Wert.
- Identifier in JavaScript
- Case-sensitive (Groß- und Kleinschreibung ist wichtig)
greeting
undGreeting
sind unterschiedliche Identifier
- können Buchstaben, Ziffern, _ und $ enthalten, sonst nichts (auch kein Leerzeichen)
- dürfen nicht mit einer Ziffer beginnen
- Case-sensitive (Groß- und Kleinschreibung ist wichtig)
Variablendeklaration
Eine Variable muss bevor sie verwendet wird deklariert werden. Wir erstellen dadurch einen Namen und ordnen dem Namen einen Speicherbereich zu.
Wir deklarieren in JavaScript Variablen durch die Verwendung der Schlüsselwörter let
und const
(und früher var
).
Variableninitialisierung
Bei einer Variablendeklaration kann zusätzlich unter Verwendung des Zuweisungsoperators (Gleichheitszeichen) ein Wert zugewiesen werden. Man spricht dann von Variableninitialisierung.
Namenskonventionen
-
Es gibt unterschiedliche Konventionen wie Identifier geschrieben werden. Diese legen fest ob Wörter groß oder klein geschrieben werden und wie sie getrennt werden, wenn mehrere Wörter aneinander gereiht werden.
camelCase
PascalCase
kebap-case
snake_case
-
Wir verwenden hauptsächlich
camelCase
Datentypen
Bei einer Variableninitialisierung wird nicht nur ein Wert, sondern gleichzeitig auch ein Datentyp zugewiesen.
Ein Datentyp beschreibt eine Menge von Werten und Operationen, die auf eine Variable angewandt werden dürfen.
Damit bestimmt der Datentyp die Art der Information, die in einer Variable gespeichert werden kann.
Datentypen in JavaScript
JavaScript kennt die folgenden Datentypen:
- string
- number
- boolean
- undefined
- null
- object
- array
Der Datentyp Number vereint alle möglichen Zahlenwerte in einem gemeinsamen Datentyp
Der Datentyp String steht stellvertretend für alle möglichen Zeichenketten. Zeichenketten müssen in Anführungszeichen angegeben werden, um sie von Befehlen zu unterscheiden.
Der Datentyp Bool wird zur Verwaltung von Wahrheitswerten eingesetzt. Er hat genau 2 Ausprägungen - true, false
Kontrollstrukturen
Kontrollstrukturen sind Routinen zur Steuerung des Programmflusses. Ohne Kontrollstrukturen könnten wir nur einen Befehl nach dem anderen schreiben ohne Möglichkeit den Ablauf zu steuern.
Wir unterscheiden 2 Arten:
- Schleifen
- If-Verzweigungen
If-Verzweigung
In der Regel wird ein Programm von oben nach unten, Befehl für Befehl ausgeführt.
Wenn man steuern will, dass ein gewisser Programmteil nur unter einer bestimmten Bedingung ausgeführt wird, verwendet man eine If-Verzweigung
Der Schüler hat 75 Punkte erreicht. Das Programm prüft die Anzahl der erreichten Punkte. Falls der Schüler mehr als 50 Punkte erreicht hat, hat er die Prüfung bestanden.
Bedingungen auswerten
Eine Bedingung ist ein Ausdruck, der nach Auswertung immer entweder wahr (true) oder falsch (false) ist.
Bedingungen ergeben also nach der Auswertung immer einen boolschen Wert. Bedingungen werden auch boolsche Ausdrücke genannt.
WHILE-Schleife
Schleifen sind Kontrollstrukturen, die es ermöglichen Anweisungen bzw. Blöcke von Anweisungen zu wiederholen.
While-Schleifen wiederholen Anweisungen solange, solange die gegebene Bedingung eintritt.
FOR-Schleife
Die for
Schleife ist eine Kontrollstruktur, die es ermöglicht Anweisungen bzw. Blöcke von Anweisungen zu wiederholen.
Die for
Schleife wird meist dann verwendet, wenn die Gesamtzahl der Durchläufe bereits vor der Ausführung bekannt ist.
Die Syntax der for-Schleife ist wie folgt:
Wir beginnen mit dem Schlüsselwort for
. Danach folgen in runden Klammern ein Initialisierungsteil, eine Condition und ein Modifier, die durch Strichpunkte getrennt werden.
Innerhalb der geschwungenen Klammern werden Instruktionen angeführt, die in der Schleife wiederholt werden.
Initialisierung
Der erste Schritt der for
Schleife ist die Initialisierung. Dieser Schritt wird nur ein einziges Mal ausgeführt, unabhängig davon wie oft die Schleife durchlaufen wird.
Abbruchbedingung
Die Bedingung/Condition wird im Vorfeld definiert und dann bei jedem Durchgang überprüft. Die Schleife wird solange ausgeführt, solange die Bedingung wahr ist.
Modifier
Die Modifier-Instruktion wird nach jedem Schleifendurchlauf ausgeführt und wird meist dazu verwendet um eine Lauf- oder Zählvariable anzupassen.
Beispiel FOR-Schleife
Bedingungen
Bedingungen sind Instruktionen, die zu einem booleschen Wert (true oder false) ausgewertet werden.
Vergleichsoperatoren
Operator | Beschreibung |
---|---|
== | ist gleich |
=== | gleicher Wert und gleicher Datentyp |
!= | ist ungleich |
!== | ungleicher Wert oder ungleicher Datentyp |
> | größer als |
< | kleiner als |
>= | größer oder gleich |
<= | kleiner oder gleich |
Beispiel Vergleichsoperatoren
Logische Verknüpfungen
Mehrere Bedingungen können miteinander kombiniert werden. Wir verwenden dazu hauptsächlich diese Operatoren:
Operator | Beschreibung |
---|---|
&& | UND |
|| | ODER |
! | NICHT |
Beispiel logische Verknüpfungen
Auswertungsreihenfolge
Werden mehrere Bedingungen mit Verknüpfungen aneinander gereiht, werden diese nacheinander ausgewertet. Grundsätzlich erfolgt die Auswertung von links nach rechts.
Allerdings haben die Verknüpfungsoperatoren unterschiedliche Vorränge.
Zuerst wird NICHT (!
) ausgewertet, danach UND (&&
) und danach ODER (||
).
Beispiel logische Auswertung
Eine Person beschließt, dass sie dann laufen geht wenn es der Trainingsplan vorsieht, aber nur wenn es nicht regnet. Eine Ausnahme wird gemacht, wenn die Person motiviert ist, dann sind Trainingsplan und Wetter egal und sie geht auf jeden Fall laufen.
Der Interpreter ersetzt die Variablen mit ihren Werten:
Zuerst wird NICHT (!
) ausgewertet:
Dann UND (&&
):
Zum Schluss ODER (||
):