Heim Web-Frontend Front-End-Fragen und Antworten So deklarieren Sie schreibgeschützte Konstanten in es6

So deklarieren Sie schreibgeschützte Konstanten in es6

Jan 11, 2023 pm 05:38 PM
es6 常量

In es6 können Sie das Schlüsselwort const verwenden, um schreibgeschützte Konstanten zu deklarieren. Die Syntax lautet „const konstanter Name = konstanter Wert;“. Nach der Deklaration muss die Konstante initialisiert werden und der initialisierte Wert kann nicht geändert werden. Als const deklarierte Konstanten gehören zum Blockbereich und unterliegen der „temporären Totzone“. Sie erstellen keine globalen Eigenschaften im Fenster und können nicht neu zugewiesen oder neu deklariert werden.

So deklarieren Sie schreibgeschützte Konstanten in es6

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

In es6 können Sie das Schlüsselwort const verwenden, um schreibgeschützte Konstanten zu deklarieren.

es6 const-Schlüsselwort

const deklariert eine schreibgeschützte Konstante. Nach der Deklaration muss eine Konstante initialisiert werden und der initialisierte Wert kann nicht geändert werden.

const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: Assignment to constant variable.
Nach dem Login kopieren

const-Konstanten befolgen die folgenden Regeln:

  • gehört zum Blockbereich.

  • Vorbehaltlich der „vorübergehenden Totzone“.

  • Es werden keine globalen Eigenschaften im Fenster erstellt.

  • Nicht weiterverteilbar.

  • kann nicht angepasst werden.

const Sobald eine Variable deklariert ist, muss sie sofort initialisiert werden.

const foo;
// SyntaxError: Missing initializer in const declaration
Nach dem Login kopieren

Der obige Code gibt an, dass für const ein Fehler gemeldet wird, wenn Sie nur deklarieren, ohne einen Wert zuzuweisen.

Der Gültigkeitsbereich von const ist derselbe wie der let-Befehl: Er ist nur innerhalb des Blockebenenbereichs gültig, in dem er deklariert ist.

if (true) {
  const MAX = 5;
}

MAX // Uncaught ReferenceError: MAX is not defined
Nach dem Login kopieren

Die vom const-Befehl deklarierten Konstanten werden ebenfalls nicht hochgestuft. Es gibt auch eine vorübergehende Totzone und kann nur nach der deklarierten Position verwendet werden.

if (true) {
  console.log(MAX); // ReferenceError
  const MAX = 5;
}
Nach dem Login kopieren

Der obige Code wird aufgerufen, bevor die Konstante MAX deklariert wird, und ein Fehler wird gemeldet.

Die von const deklarierte Konstante kann nicht wie let wiederholt deklariert werden.

var message = "Hello!";
let age = 25;

// 以下两行都会报错
const message = "Goodbye!";
const age = 30;
Nach dem Login kopieren

Das Wesen von const

const garantiert tatsächlich, dass nicht der Wert der Variablen nicht geändert werden kann, sondern dass die in der Speicheradresse gespeicherten Daten, auf die die Variable zeigt, nicht geändert werden können. Bei einfachen Datentypen (numerische Werte, Zeichenfolgen, boolesche Werte) wird der Wert an der Speicheradresse gespeichert, auf die die Variable zeigt, und entspricht daher einer Konstante. Bei zusammengesetzten Datentypen (hauptsächlich Objekten und Arrays) speichert die Speicheradresse, auf die die Variable zeigt, nur einen Zeiger auf die tatsächlichen Daten. Const kann nur garantieren, dass dieser Zeiger fest ist (dh er zeigt immer auf eine andere feste Adresse). Ob die Datenstruktur, auf die es verweist, variabel ist, liegt völlig außer Kontrolle. Daher müssen Sie sehr vorsichtig sein, wenn Sie ein Objekt als Konstante deklarieren.

const foo = {};

// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123

// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
Nach dem Login kopieren

Im obigen Code speichert die Konstante foo eine Adresse, die auf ein Objekt zeigt. Das Einzige, was unveränderlich ist, ist diese Adresse, das heißt, Sie können foo nicht auf eine andere Adresse verweisen, aber das Objekt selbst ist veränderbar, sodass Sie ihm immer noch neue Eigenschaften hinzufügen können.

Hier ist ein weiteres Beispiel.

const a = [];
a.push('Hello'); // 可执行
a.length = 0;    // 可执行
a = ['Dave'];    // 报错
Nach dem Login kopieren

Im obigen Code ist die Konstante a ein Array. Das Array selbst ist beschreibbar, aber wenn a ein anderes Array zugewiesen wird, wird ein Fehler gemeldet.

Wenn Sie das Objekt wirklich einfrieren möchten, sollten Sie die Methode Object.freeze verwenden.

const foo = Object.freeze({});

// 常规模式时,下面一行不起作用;
// 严格模式时,该行会报错
foo.prop = 123;
Nach dem Login kopieren

Im obigen Code zeigt die Konstante foo auf ein eingefrorenes Objekt, sodass das Hinzufügen neuer Attribute nicht funktioniert und im strikten Modus ein Fehler gemeldet wird.

Zusätzlich zum Einfrieren des Objekts selbst sollten auch die Eigenschaften des Objekts eingefroren werden. Unten finden Sie eine Funktion, die ein Objekt vollständig einfriert.

var constantize = (obj) => {
  Object.freeze(obj);
  Object.keys(obj).forEach( (key, i) => {
    if ( typeof obj[key] === 'object' ) {
      constantize( obj[key] );
    }
  });
};
Nach dem Login kopieren

【Verwandte Empfehlungen: Javascript-Video-Tutorial, Programmiervideo

Das obige ist der detaillierte Inhalt vonSo deklarieren Sie schreibgeschützte Konstanten in es6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser 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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind Konstanten in der C-Sprache? Können Sie ein Beispiel nennen? Was sind Konstanten in der C-Sprache? Können Sie ein Beispiel nennen? Aug 28, 2023 pm 10:45 PM

Eine Konstante wird auch als Variable bezeichnet. Sobald sie definiert ist, ändert sich ihr Wert während der Ausführung des Programms nicht. Daher können wir eine Variable als Konstante deklarieren, die auf einen festen Wert verweist. Es wird auch Text genannt. Konstanten müssen mit dem Schlüsselwort Const definiert werden. Syntax Die Syntax der in der Programmiersprache C verwendeten Konstanten ist wie folgt: consttypeVariableName; (oder) Verschiedene Arten von Konstanten Die verschiedenen Arten von Konstanten, die in der Programmiersprache C verwendet werden, sind wie folgt: Ganzzahlige Konstanten – Beispiel: 1,0 ,34, 4567 Gleitkommakonstanten – Beispiel: 0,0, 156,89, 23,456 Oktal- und Hexadezimalkonstanten – Beispiel: Hex: 0x2a, 0xaa.. Oktal

Wie erstelle ich eine Konstante in Python? Wie erstelle ich eine Konstante in Python? Aug 29, 2023 pm 05:17 PM

Konstanten und Variablen werden zum Speichern von Datenwerten in der Programmierung verwendet. Eine Variable bezieht sich normalerweise auf einen Wert, der sich im Laufe der Zeit ändern kann. Eine Konstante ist ein Variablentyp, dessen Wert während der Programmausführung nicht geändert werden kann. In Python sind nur sechs integrierte Konstanten verfügbar: False, True, None, NotImplemented, Ellipsis(...) und __debug__. Abgesehen von diesen Konstanten verfügt Python über keine integrierten Datentypen zum Speichern konstanter Werte. Beispiel Ein Beispiel für eine Konstante wird unten gezeigt – False=100-Ausgaben. SyntaxError:cannotassigntoFalseFalse ist eine integrierte Konstante in Python, die zum Speichern boolescher Werte verwendet wird

Ist Async für es6 oder es7? Ist Async für es6 oder es7? Jan 29, 2023 pm 05:36 PM

async ist es7. Async und Wait sind neue Ergänzungen zu ES7 und Lösungen für asynchrone Vorgänge. Man kann sagen, dass Async/Await syntaktischer Zucker für Co-Module und Generatorfunktionen ist und js asynchronen Code mit klarerer Semantik löst. Wie der Name schon sagt, bedeutet Async „asynchron“. Async wird verwendet, um zu deklarieren, dass eine Funktion asynchron ist. Es gibt eine strikte Regel zwischen Async und Wait.

Ist es in Java möglich, eine Konstante nur mit dem Schlüsselwort final zu definieren? Ist es in Java möglich, eine Konstante nur mit dem Schlüsselwort final zu definieren? Sep 20, 2023 pm 04:17 PM

Eine konstante Variable ist eine Variable, deren Wert fest ist und von der im Programm nur eine Kopie vorhanden ist. Sobald Sie eine konstante Variable deklariert und ihr einen Wert zugewiesen haben, können Sie ihren Wert im gesamten Programm nicht mehr ändern. Im Gegensatz zu anderen Sprachen unterstützt Java Konstanten nicht direkt. Sie können jedoch weiterhin eine Konstante erstellen, indem Sie eine Variable als „statisch“ und „final“ deklarieren. Statisch – Sobald Sie eine statische Variable deklarieren, werden diese zur Kompilierungszeit in den Speicher geladen, d. h. es ist nur eine Kopie verfügbar. Final – Sobald Sie eine Final-Variable deklariert haben, kann ihr Wert nicht mehr geändert werden. Daher können Sie in Java eine Konstante erstellen, indem Sie die Instanzvariable als statisch und endgültig deklarieren. Beispiel-DemonstrationsklasseData{&am

So finden Sie in es6 verschiedene Elemente in zwei Arrays So finden Sie in es6 verschiedene Elemente in zwei Arrays Nov 01, 2022 pm 06:07 PM

Schritte: 1. Konvertieren Sie die beiden Arrays jeweils in Mengentypen mit der Syntax „newA=new Set(a); newB=new Set(b);“ 2. Verwenden Sie has() und filter(), um den Differenzsatz zu finden Mit der Syntax „new Set([...newA].filter(x =>!newB.has(x)))“ werden die Differenzmengenelemente in eine Mengensammlung aufgenommen und zurückgegeben. 3. Verwenden Sie Array. from, um die Menge in einen Array-Typ umzuwandeln, Syntax „Array.from(collection)“.

Warum muss das Miniprogramm es6 in es5 konvertieren? Warum muss das Miniprogramm es6 in es5 konvertieren? Nov 21, 2022 pm 06:15 PM

Aus Gründen der Browserkompatibilität. Als neue Spezifikation für JS fügt ES6 viele neue Syntax und API hinzu. Moderne Browser bieten jedoch keine umfassende Unterstützung für die neuen Funktionen von ES6, daher muss ES6-Code in ES5-Code konvertiert werden. In den WeChat-Webentwicklertools wird babel standardmäßig verwendet, um den ES6-Syntaxcode des Entwicklers in ES5-Code umzuwandeln, der von allen drei Terminals gut unterstützt wird und Entwicklern hilft, Entwicklungsprobleme zu lösen, die durch unterschiedliche Umgebungen nur im Projekt verursacht werden Option „ES6 bis ES5“.

So implementieren Sie die Array-Deduplizierung in es5 und es6 So implementieren Sie die Array-Deduplizierung in es5 und es6 Jan 16, 2023 pm 05:09 PM

In es5 können Sie die for-Anweisung und die Funktion indexOf() verwenden, um eine Array-Deduplizierung zu erreichen. Die Syntax „for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". In es6 können Sie den Spread-Operator Array.from() und Set verwenden, um Duplikate zu entfernen. Sie müssen zuerst das Array in ein Set-Objekt konvertieren, um Duplikate zu entfernen, und dann den Spread-Operator oder die Funktion Array.from() verwenden Konvertieren Sie das Set-Objekt zurück in ein Array.

Was bedeutet die temporäre Totzone von es6? Was bedeutet die temporäre Totzone von es6? Jan 03, 2023 pm 03:56 PM

In es6 handelt es sich bei der temporären Totzone um einen Syntaxfehler, der sich auf die Befehle let und const bezieht, die dafür sorgen, dass der Block einen geschlossenen Bereich bildet. Bevor eine Variable innerhalb eines Codeblocks mit dem Befehl let/const deklariert wird, ist sie nicht verfügbar und gehört zur „toten Zone“ der Variablen, bevor die Variable deklariert wird. ES6 legt fest, dass die Variablenheraufstufung in temporären Totzonen und in let- und const-Anweisungen nicht erfolgt, hauptsächlich um Laufzeitfehler zu reduzieren und zu verhindern, dass die Variable vor ihrer Deklaration verwendet wird, was zu unerwartetem Verhalten führen kann.

See all articles