Warum kann ich ein konstantes Objekt in JavaScript ändern?
Konstante Objekte in JavaScript: Unveränderliche Eigenschaften verstehen
Trotz des Schlüsselworts „constant“ in ES6 können Sie scheinbar konstante Objekte in JavaScript ändern. Dies kann rätselhaft sein, insbesondere angesichts des Anspruchs der Spezifikation auf Unveränderlichkeit. Also, was ist los?
Erstens verbietet das Schlüsselwort „constant“, wie in der MDN-Dokumentation klargestellt wird, eine Neuzuweisung und Neudeklaration der Konstante selbst. Wenn Sie jedoch ein Objekt oder Array ändern, weisen Sie es nicht neu zu oder deklarieren es neu. Stattdessen manipulieren Sie einfach die Eigenschaften des Objekts oder die Elemente des Arrays.
Betrachten Sie die Beispiele:
const x = {}; x.foo = 'bar'; // Adds a property to an existing object
const y = []; y.push('foo'); // Appends an element to an existing array
In beiden Fällen sind das konstante Objekt (x) und das Array ( y) bleiben die gleichen Referenzen. Sie ändern nicht das Objekt selbst, sondern fügen stattdessen seine Elemente hinzu oder ändern sie. Dies ist zulässig, da es die Unveränderlichkeit der konstanten Referenz nicht verletzt.
Eine Neuzuweisung oder Neudeklaration wird jedoch weiterhin verhindert:
const x = {}; x = {foo: 'bar'}; // Error: Reassigning a constant
const y = ['foo']; const y = ['bar']; // Error: Re-declaring a constant
Daher, solange Sie können Wenn Sie die Eigenschaften eines konstanten Objekts oder der Elemente eines konstanten Arrays ändern, können Sie die Referenz selbst nicht ersetzen oder neu definieren.
Das obige ist der detaillierte Inhalt vonWarum kann ich ein konstantes Objekt in JavaScript ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
