Seit seiner Veröffentlichung hat ES6 einige neue Funktionen und Methoden in JavaScript eingeführt. Diese Funktionen können unseren Arbeitsablauf und unsere Produktivität als JavaScript-Entwickler besser verbessern. Zu diesen neuen Funktionen gehören die Methode Object.freeze() und const. Object.freeze() 方法和 const。
Unter einigen Entwicklern, insbesondere unter Neulingen, denken einige, dass diese beiden Funktionen gleich funktionieren, aber NEIN, das ist nicht der Fall. Object.freeze() und const funktionieren unterschiedlich. Ich zeige Ihnen wie!
Übersicht
const und Object.freeze() sind völlig unterschiedlich.
rrreeeDies wird auslösen Nicht abgefangener TypeError, weil wir versucht haben, die mit dem Schlüsselwort const deklarierte Variable user neu zuzuweisen. Das funktioniert nicht.
Zunächst funktioniert dies mit var oder let, aber nicht mit const.
Probleme mit const
🎜Bei der Verwendung von Objekten verhindert die Verwendung von const nur die Neuzuweisung, nicht die Unveränderlichkeit. (Möglichkeit, Änderungen an seinen Eigenschaften zu verhindern) 🎜🎜Beachten Sie den folgenden Code. Wir haben eine Variable mit dem Schlüsselwort const deklariert und ihr ein Objekt namens user zugewiesen. 🎜rrreee🎜Obwohl wir die Variable namens Objekt nicht neu zuweisen können, können wir das Objekt selbst dennoch mutieren. 🎜rrreee🎜Wir möchten unbedingt, dass das Objekt Eigenschaften hat, die nicht geändert oder gelöscht werden können. const kann dies nicht, und hier kommt uns Object.freeze() zu Hilfe. 🎜
Sehen Sie sich Object.freeze() an
🎜Um jegliche Änderungen am Objekt zu deaktivieren, benötigen wir Object.freeze(). 🎜rrreee
Objekte mit verschachtelten Eigenschaften werden nicht wirklich eingefroren
🎜Nun, Object.freeze() ist etwas oberflächlich, Sie müssen es auf verschachtelte Objekte anwenden, um sie rekursiv zu schützen. 🎜rrreee<figure><img class="lazyload" src="https://img.php.cn/upload/article/000/000/052/711d9e9172ba396448af5ff0dbd10e5e-4.png" data- style="max-width:90%" data- style="max-width:90%" alt="Verstehen Sie den Unterschied zwischen Object.freeze() und const in JavaScript" ></figure>🎜Wenn also <code>Object.freeze() eine verschachtelte Eigenschaft hat, wird diese nicht vollständig eingefroren. 🎜🎜Um ein Objekt und seine verschachtelten Eigenschaften vollständig einzufrieren, können Sie Ihre eigene Bibliothek schreiben oder eine bereits erstellte Bibliothek wie Deepfreeze oder immutable-js verwenden🎜
Zusammenfassung
🎜 const unterscheidet sich von Object.freeze() darin, dass const eine Neuzuweisung verhindert, während Object.freeze() Transsexuelle verhindert. 🎜🎜🎜Wenn Sie mehr über das Erlernen des Programmierens erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“! 🎜🎜🎜
Das obige ist der detaillierte Inhalt vonVerstehen Sie den Unterschied zwischen Object.freeze() und const in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn