Arrays / Objekte
Dauer: 20 Minuten
Themen:
- Arrays sind Listen
- Objekte sind Dictionaries bzw. HashMaps
Arrays
Arrays werden in JavaScript mit eckigen Klammern […]
deklariert.
Arrays können Werte verschiedener Typen enthalten und die Länge des
Arrays muss nicht festgelegt werden und kann zur Laufzeit variieren.
let empty = []; // leeres Array
const chars = ['a', 'b', 'c'];
const myList = [1, 2, 3, 4, 5];
const myMixedList = [1, 'eins', 'one', 1.0, false];
// erster Eintrag mit [0]
console.log(myList[0]); // ==> 1
// erster Eintrag ändern:
myList[0] = -1;
console.log(myList[0]); // ==> -1
// Länge der Liste mit length
console.log(myMixedList.length); // ==> 4
// Arrays sind vom Typ 'object'
console.log(typeof myList); // --> 'object'
// Neuen Eintrag ans Ende des Array anhängen:
myList.push(6);
// ---> nun gilt myList === [1,2,3,4,5,6]
// myList ist zwar eine Konstante aber dies ist erlaubt
// die eigentliche Zuweisung der Konstanten bleibt erhalten
// nur das konkrete, zugewiesene Array ändert sich
// --> es gibt viele weitere Methoden für Arrays
Objekte
In JavaScript lassen sich mit Objekten beliebige Werte zusammenfassen. Die Werte sind in Objekten bestimmten Schlüsseln bzw. Eigenschaften zugeordnet. Objekte werden mit geschweiften Klammern deklariert:
let object1 = { name: 'Jane', age: 33 };
Objekte sind also Sammlungen von Schlüssel/Wert-Paaren (key/value pairs).
Der Zugriff auf einzelne Werte erfolgt mit object.key
oder
object['key']
bzw. object["key"]
:
// lesender Zugriff
console.log(object1.name); // oder object['name']
console.log(object1['age']); // oder object.age
// schreibender Zugriff
object['name'] = 'Janet'; // oder object.name = ...
object.age = 30; // oder object['age'] = ...
Objekte können auch weitere Objekte, Arrays oder Funktionen als Eigenschaften enthalten:
let object2 = {
firstName: 'John',
lastName: 'Smith',
age: 27,
address: {
zip: 79098,
city: 'Freiburg',
},
professions: ['IT specialist', 'Farmer'],
getFullName: function () {
return `${this.firstName} ${this.lastName}`;
},
};
console.log(object2.getFullName());
console.log(object2.address.city);
Objekte sind die Grundlage für JSON (JavaScript Object Notation).
Aus Python-Sicht entsprechen Arrays den Lists und Objekte
den Dictionaries. Die Verwendung von Objekten kann wie in Python
erfolgen — mit Strings für die Namen der Eigenschaften und
dem Zugriff auf Eigenschaften mit []
(anstatt .
):
const myObject = {'name': 'Just an Object', 'id': 123};
const id = myObject['id'];
Aus Java-Sicht können Objekte mit HashMaps verglichen werden.
Objekte ohne Klassen haben in JavaScript keinen Bezug zur Objektorientierung.