Heim > Web-Frontend > View.js > Hauptteil

Gibt es in der Klasse ES6 variable Beförderungen?

WBOY
Freigeben: 2022-04-08 18:46:31
Original
2195 Leute haben es durchsucht

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.

Gibt es in der Klasse ES6 variable Beförderungen?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Vue Version 2.9.6, DELL G3-Computer.

Verfügt die ES6-Klasse über eine Variablenhochstufung?

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{
}
Nach dem Login kopieren

Klassen haben kein variables Heben (Heben), was sich völlig von ES5 unterscheidet.

new Foo(); // ReferenceError
class Foo {}
Nach dem Login kopieren

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 {
  }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
es6
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage