Heim > Artikel > Web-Frontend > Gibt es in der Klasse ES6 variable Beförderungen?
ES6-Klassen haben keine variable Förderung. Es gibt eine Variablenhochstufung in der Klasse in es5. Sie können diese zuerst verwenden und dann die Klasse in es6 definieren. Wenn Sie sie zuerst in der Definition verwenden, wird dies nicht der Fall sein Daher können Sie es nicht zuerst verwenden und dann die Klasse es6 definieren. Es gibt keine Variablenheraufstufung.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Vue Version 2.9.6, DELL G3-Computer.
Die Klasse verfügt über keine Variablenhochstufung
Da ES6 die Klassendeklaration nicht in den Kopf des Codes hochstuft, muss sie zuerst definiert und dann verwendet werden.
Aber ES5 ist anders. ES5 verfügt über eine variable Förderung, die zuerst verwendet und dann definiert werden kann.
// ES5可以先使用再定义,存在变量提升 new A(); function A(){ } // ES6不能先使用再定义,不存在变量提升 会报错 new B(); // B is not defined class B{ }
Klassen haben kein variables Heben (Heben), was sich völlig von ES5 unterscheidet.
new Foo(); // ReferenceError class Foo {}
Im obigen Code wird zuerst die ES6-Foo-Klasse verwendet und später definiert. Dies führt zu einem Fehler, da ES6 die Klassendeklaration nicht in den Kopf des Codes befördert. Der Grund für diese Bestimmung hängt mit der unten erwähnten Vererbung zusammen. Es muss sichergestellt werden, dass die Unterklasse nach der übergeordneten Klasse definiert wird.
{ let Foo = class {}; class Bar extends Foo { } }
Der obige Code meldet keinen Fehler, denn wenn Bar Foo erbt, ist Foo bereits definiert. Wenn jedoch eine Klassenheraufstufung vorliegt, meldet der obige Code einen Fehler, da die Klasse zum Kopf des Codes heraufgestuft wird, der Befehl let jedoch nicht heraufgestuft wird. Wenn Bar also Foo erbt, wurde Foo nicht definiert.
【Verwandte Empfehlung: „vue.js Tutorial“】
Das obige ist der detaillierte Inhalt vonGibt es in der Klasse ES6 variable Beförderungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!