Voraussetzung für dieses Kapitel sind Grundkenntnisse der Programmiersprache Python. Wir werden hier Javascript nur knapp erläutern, und dafür Vergleiche mit Python heranziehen.

Die Beispiele können online getestet werden: https://jsitor.com/

Datenstrukturen und -typen

Variablen

Beispiel

  • Javascript
  • Python
let x = 12;
x = x + 1;
console.log(x);
1
2
3
Zeile 1
wir definieren und initialisieren die Varable x
wenn wir eine Variable definieren, also beim ersten Vorkommen, verwenden wir das Schlüsselwort let («Sei x gleich 12»)
Zeile 2
anschliessend können wir mit der Variablen x was berechnen und ihr auch einen neuen Wert zuweisen
Zeile 3
Das JS-Analogon zum print-Befehl von Python ist console.log(). Die Konsole findet man in den Entwicklungswerkzeugen des Browsers

Konstanten

Möchten wir in einen Wert definieren, der nicht mehr geändert werden soll, so verwenden wir bei der Initialisierung statt let das Schlüsselwort const:

Beispiel

  • Javascript
  • Python
const pi = 3.14;
1

einfache Datentypen

Auch Javascript kennt Datentypen für Text, Zahlen und Wahrheitswerte:

DatentypBeispielBemerkungPython-Pendant
Stringlet a = "hello";Bemerkungstr
Numberlet x = 12.2;Spezialwerte Infinity und NaNint, float
Booleana = true;Werte true und falsebool

Daneben gibt es zwei spezielle Datentypen, die jeweils nur einen Wert haben können:

  • Definiert man eine Variable ohne sie zu Initialisieren (also ohne einen ersten Wert zuzuweisen), so hat diese den Wert undefined.
  • Man kann einer Variable explizit den Wert null zuweisen.

Listen

Listen werden wie in Python mit eckigen Klammern definiert. Mehrere Elemente werden durch Kommas getrennt:

Beispiel: Liste

  • Javascript
  • Python
const colors = ["Red", "Yellow", "Green", "Orange"];
console.log(colors[1]);
1
2
Zeile 1
eine Liste mit 4 Elementen definieren
Zeile 2
das zweite Element der Liste ausgeben

Beispiel: leere Liste

  • Javascript
  • Python
let primes = [];
primes.push(7);
primes.push(11);
console.log(primes.length);
1
2
3
4
Zeile 1
eine leere Liste definieren
Zeile 2/3
ein Element hinten an die Liste hängen
Zeile 4
die Länge der Liste ausgeben (Anzahl Elemente)

Objekte

  • Ein Objekt beinhaltet durch Komma getrennte Eigenschaften in Form von Schlüssel-Wert-Paaren (key-value-pairs).
  • Objekte werden durch geschweifte Klammern gekennzeichnet.
  • Werte von Objekten können alle Datentypen, aber auch Listen oder andere Objekte sein
  • Auf die einzelnen Eigenschaften kann mit der Punktnotation zugegriffen werden

Beispiel

var car = {
	model: "BMW X3",
	color: "white",
	doors: 5
}
console.log(car.model);
1
2
3
4
5
6

👉 siehe auch JSON

Programmstrukturen

Der grösste Unterschied ist wohl die Abgrenzung der Blöcke: Während Python die Programmblöcke mittels Einrücken kennzeichnet, verwendet Javascript geschweifte Klammern.

Sequenz

In Python gilt ein Zeilenumbruch als neue Anweisung. In Javascript müssen wir die einzelne Anweisung einer Sequenz explizit mit einem Semikolon abschliessen:

Beispiel

  • Javascript
  • Python
let x = 12;
x = x + 1;
console.log(x);
1
2
3

Blöcke

Während bei Python die Programmblöcke mittels Einrücken gekennzeichnet werden, verwendet Javascript dafür geschweifte Klammern.

Unterprogramme (Funktionen)

  • Statt def verwenden wir das Schlüsselwort function
  • Der Funktionsblock wird durch geschweifte klammern abgegrenzt

Beispiel

  • Javascript
  • Python
function pythagoras(a, b) {
	const result = Math.sqrt(a**2 + b**2);
	return result;
}

console.log(pythagoras(3, 4));

1
2
3
4
5
6
7

Wiederholungen

Javascript kennt die aus Python bekannten Strukturen while und for-in (heisst in JS for-offor-in iteriert über Eigenschaften eines Objektes). Dazu kommen einige weitere wie for oder do-while.

Beispiel: while

  • Javascript
  • Python
let i = 0;
while (i < 12) {
	console.log(i);
	i = i + 1;
}
console.log("fertig");
1
2
3
4
5
6

Verzweigungen

Javascript kennt if-else, aber kein elif – hier müsst man mit verschachtelten if-Strukturen arbeiten:

Beispiel: if

  • Javascript
  • Python
  • Python (ohne elif)
function wie_war_ich(note) {
	if (note > 4) {
		console.log("gut")
	}
	else {
		if(note < 4) {
			console.log("nicht gut")
		}
		else {
			console.log("gerade noch genügend");
		}
	}
}
wie_war_ich(5);
wie_war_ich(3);
wie_war_ich(4);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Tipps

Querystring-Parameter auslesen

Rufen wir eine Seite mit einem Querystring auf, dann können wir die Parameter mit Javascript auslesen.

Wenn wir also z.B. suche.html?q=Curry aufrufen, dann kann die Seite suche.html mit Javascript auf den Querystring zugreifen. Dies geschieht in drei Schritten:

const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const search = urlParams.get('q');	
1
2
3
Zeile 1
wir holen den Querystring über die Eigenschaft search der URL des aktuellen Fensters
dies ergibt im Beispiel den String q=Curry
Zeile 2
mit URLSearchParams können wir diesen String parsen, d.h. es wird überprüft, ob es sich um korrekte Parameter handelt und welche Datentypen dabei vorkommen.
Zeile 3
mit der Methode get() von URLSearchParams können nun Werte für einzelne Elemente abgerufen werden. Wenn wir also den Wert für den Paramater q abfragen, erhalen wir nun den vom Beuntzer eingegebenen Suchbegriff Curry zurück.