Skip to content

Javascript

HTML, CSS und JS

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://runjs.co

Datenstrukturen und -typen

Datentypen werden wie bei Python bei der Initialisierung zugewiesen. Allerdings verwendet man bei der Definition in Javascript das Schlüsselwort let.

Variablen

javascript
let x = 12;
x = x + 1;
console.log(x);
python
x = 12
x = x + 1
print(x)
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:

javascript
const pi = 3.14;
python
PI = 3.14

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:

javascript
const colors = ["Red", "Yellow", "Green", "Orange"];
console.log(colors[1]);
python
colors = ["Red", "Yellow", "Green", "Orange"]
print(colors[1])
Zeile 1
eine Liste mit 4 Elementen definieren
Zeile 2
das zweite Element der Liste ausgeben
javascript
let primes = [];
primes.push(7);
primes.push(11);
console.log(primes.length);
python
primes = []
primes.append(7)
primes.append(11)
print(len(primes))
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
javascript
var car = {
	model: "BMW X3",
	color: "white",
	doors: 5
}
console.log(car.model);

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:

javascript
let x = 12;
x = x + 1;
console.log(x);
python
x = 12
x = x + 1
print(x)
javascript
let x = 12;x = x + 1;console.log(x);

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
javascript
function pythagoras(a, b) {
	const result = Math.sqrt(a**2 + b**2);
	return result;
}

console.log(pythagoras(3, 4));
python
from math import sqrt

def pythagoras(a, b):
	result = sqrt(a**2 + b**2)
	return result
	
print(pythagoras(3, 4))

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.

javascript
let i = 0;
while (i < 12) {
	console.log(i);
	i = i + 1;
}
console.log("fertig");
python
i = 0
while i < 12:
	print(i)
	i = i + 1
print("fertig")
javascript
const colors = ["Red", "Yellow", "Green", "Orange"];
for (const color of colors) {
	console.log(color);	
}
python
colors = ["Red", "Yellow", "Green", "Orange"];
for color in colors:
	print(color)

Verzweigungen

Javascript kennt if-else, aber kein elif – hier müsst man mit verschachtelten if-Strukturen arbeiten. Man kann aber die Klammer nach dem else weglassen – weil dann ein kompletter if-Block folgt, funktioniert es trotzdem.

javascript
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);
python
def wie_war_ich(note):
	if note > 4:
		print("gut")
	elif note < 4:
		print("nicht gut")
	else:
		print("gerade noch genügend!")
	
wie_war_ich(5)
wie_war_ich(3)
wie_war_ich(4)

Gymnasium Kirchenfeld, fts & lem