Ich würde diese Karte Funktionalität wie erklärt:es6 Karten Einstellung ohne map.set() aufgerufen wird
let m = new Map().set('items', ["a", "b", "c"]);
console.log(m.get('items')); // ["a", "b", "c"]
let n = m.get('items');
console.log(n); // ["a", "b", "c"]
n.push("d");
console.log(n); // ["a", "b", "c", "d"]
console.log(m.get('items')); // ["a", "b", "c", "d"]
Wie der Wert hat ‚d‘ hinzugefügt bekommen m Karte ohne Aufruf Map.set()?
Danke, das war meine Ahnung; dass es durch Referenz, beim Versuch, Änderungen von einem Array aus einer Karte abgerufen zu bekommen, gefangen und später mit der "Original" (die ich jetzt zu der einzigen) gemappten Version zu vergleichen. Hoffnung, die Sinn macht – mhakes
@EranSch Ja, in JS Werte von Rferenzierungstyp (e.q Objekt oder Arrays) werden nur dann als gleich angesehen, wenn sie einen Verweis auf den gleichen Speicherort im Speicher (also beide auf die gleiche Instanz zeigen). Und '[] === []' erstellt zwei separate Array-Instanzen –