Skip to content

Wertedatentypen - Referenzdatentypen

Wertedatentypen - Referenzdatentypen

let maze = [];
let innerArray = [1, 2, 3, 4];
for (let i = 0; i < 10; i++) {
maze.push(innerArray);
}
maze[0][3] = 7;
// JavaScript Datentypen:
// string
// number
// integer
// float
// double
// boolean
// undefined
// array
// object
// null
// Kategorien an Datentypen:
// 1. Value Types (Wertdatentypen) / Primitive Datentypen
// string
// number
// integer
// float
// double
// boolean
// undefined
// null
let someNumber = 42;
let someOtherNumber = someNumber; // Wert wird kopiert
someNumber = 43;
// Bei Wertedatentypen werden die
// Werte bei einer Zuweisung kopiert
let someString = "hallo";
let secondString = someString;
someString = "hallo du";
// das kopieren der werte passiert nicht nur bei
// variablenzuweisungen sondern auch bei funktionsaufrufen
let someBoolean = true;
function doSomething(aBooleanValue) {
someBoolean = false;
console.log("stop");
}
doSomething(someBoolean);
// 2. Referenzdatentypen (reference types)
// array
// object
// Bei diesen Datentypen wird der Wert nicht kopiert
// Es wird eine Referenz übergeben
let someObject = {
name: "Hugo",
};
let otherObject = someObject;
someObject.name = "Helga";
// someObject und otherObject zeigen auf denselben speicherbereich
// wird eine eigenschaft des einen geändert, ist die änderung
// automatisch auch im anderen
let arr = [1, 2, 3];
let arr2 = arr;
arr.splice(0, 1, 5);
arr = arr.map((n) => n * 2);
console.log("hello");
let sub = ["SEW", "SYTG", "SYTD", "ITPL", "MEDA"];
sub = sub.slice(-4);
console.log("hello");