Heim  >  Artikel  >  Web-Frontend  >  Ist die Klasse es5 oder es6?

Ist die Klasse es5 oder es6?

青灯夜游
青灯夜游Original
2022-11-16 19:28:051685Durchsuche

class ist eine neue Funktion von es6. In ES6 wurde Klasse (Klasse) als Vorlage für Objekte eingeführt, und Klassen können über das Schlüsselwort class definiert werden. Die neue Methode zum Schreiben von Klassen macht das Schreiben von Objektprototypen klarer und ähnelt mehr der Syntax der objektorientierten Programmierung verständlich. Klasse ist eine neue grundlegende syntaktische Zuckerstruktur in ECMAScript. Obwohl ES6-Klassen scheinbar die formale objektorientierte Programmierung unterstützen, verwenden sie tatsächlich immer noch die dahinter stehenden Konzepte von Prototypen und Konstruktoren, sodass Objektprototypen klarer geschrieben werden können,

Ist die Klasse es5 oder es6?

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

class ist eine neue Funktion von es6. In ES6 wurde Klasse (Klasse) als Vorlage für Objekte eingeführt, und Klassen können über das Schlüsselwort class definiert werden.

ES6 bietet eine Schreibmethode, die traditionellen Sprachen näher kommt. Das neu eingeführte Schlüsselwort class bietet die Möglichkeit, Klassen formal zu definieren. Klasse ist eine neue grundlegende Syntax-Zuckerstruktur in ECMAScript. Obwohl ECMAScript 6-Klassen scheinbar die formale objektorientierte Programmierung unterstützen, verwenden sie tatsächlich immer noch die Konzepte von Prototypen und Konstruktoren dahinter, wodurch Objektprototypen klarer und ähnlicher werden die Syntax der objektorientierten Programmierung.

1. Einführung in Klassen

Traditionelles JS kennt nur das Konzept von Objekten, nicht von Klassen, da JS eine objektorientierte Sprache ist, die auf Prototypen basiert und das Merkmal von Prototypobjekten darin besteht, alle Attribute mit neuen Objekten zu teilen .

ES6 führt das Konzept der Klasse ein. Klassen können über das Schlüsselwort class definiert werden. Dies ist eine objektorientierte Sprache, die eher dem entspricht, was wir normalerweise verstehen.

class Person{   //定义一个名为Person的类
    // 构造函数,用来接受参数
    constructor(x,y){
        this.x = x;    //this代表的是实例对象
        this.y = y;
    }
    todoSome(){  //这是个类的方法,不需要加function,有多个方法也不用逗号隔开
        alert(this.x + "的年龄是" +this.y+"岁");
    }
}
export default  Person;

2. , Unterklassen können

this nicht in statischen Methoden aufrufen, die auf die Klasse verweisen, nicht auf eine Instanz der Klasse. Daher können statische Methoden nur über Klassennamen aufgerufen werden, nicht über Instanzen. 2.2 Statische Eigenschaften. Statische Eigenschaften können nicht von Unterklassen geerbt werden. Unterklassen können nicht aufgerufen werden. Statische Eigenschaften können nur aufgerufen werden über den Klassennamen, nicht über die Instanz der Klasse. Da die ES6-Vererbung zunächst die Attribute und Methoden des Instanzobjekts der übergeordneten Klasse hinzufügt und dann den Konstruktor der Unterklasse aufruft, um diese zu ändern, fügt super () diese standardmäßig hinzu Die Unterklasse erbt die Methoden und Attribute der übergeordneten Klasse, aber die statischen Methoden und Attribute müssen über den Klassennamen der Unterklasse aufgerufen werden Getter und Setter werden zum Lesen und Übergeben von Werten an Klassenattribute verwendet.

Der Wertfunktions-Getter und der Speicherfunktions-Setter können die Zuweisung und das Werteverhalten anpassen. Wenn eine Eigenschaft nur einen Getter und keinen Setter hat, ist die Eigenschaft eine schreibgeschützte Eigenschaft und kann weder einem Wert zugewiesen noch initialisiert werden erstmals.

Wenn die Variable als privat definiert ist (definiert außerhalb der geschweiften Klammern der Klasse), können Sie nur Getter ohne Setter verwenden.

static classMethod(){
		console.log('123456')
	}
So verwenden Sie:
let p = new Point();
p.classMethod();  // 报错

    5. Hinweise:
  • 1. Beim Definieren einer Methode in einer Klasse können Sie das Schlüsselwort function nicht zur Methode hinzufügen, da der Konstruktor in JS mit function definiert ist. Zwei getrennt. 2. Trennen Sie nicht alle Methoden durch Kommas, da sonst ein Fehler gemeldet wird.
【Empfohlenes Lernen:

Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonIst die Klasse es5 oder es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Ist es6 ein Framework?Nächster Artikel:Ist es6 ein Framework?