Maison > Article > interface Web > La classe est-elle es5 ou es6 ?
class est une nouvelle fonctionnalité d'es6. Dans ES6, la classe (class) a été introduite comme modèle pour les objets, et les classes peuvent être définies via le mot-clé class ; la nouvelle méthode d'écriture de classe rend l'écriture de prototypes d'objets plus claire, plus proche de la syntaxe de la programmation orientée objet, et plus encore. compréhensible. La classe est une nouvelle structure syntaxique de base dans ECMAScript. Bien que les classes ES6 semblent prendre en charge la programmation formelle orientée objet, en fait, elles utilisent toujours les concepts de prototypes et de constructeurs derrière elles, permettant aux prototypes d'objets d'écrire plus clairement,
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.
class est une nouvelle fonctionnalité d'es6. Dans ES6, la classe (class) a été introduite comme modèle pour les objets, et les classes peuvent être définies via le mot-clé class.
ES6 fournit une méthode d'écriture plus proche des langages traditionnels. Le mot-clé class nouvellement introduit a la capacité de définir formellement des classes. La classe est une nouvelle structure de sucre de syntaxe de base dans ECMAScript. Bien que les classes ECMAScript 6 semblent prendre en charge la programmation formelle orientée objet, elles utilisent en fait toujours les concepts de prototypes et de constructeurs qui les sous-tendent, ce qui permet aux prototypes d'objets d'écrire plus clairement. la syntaxe de la programmation orientée objet.
Le JS traditionnel n'a que le concept d'objets, pas de classes, car JS est un langage orienté objet basé sur des prototypes, et la caractéristique des objets prototypes est de partager tous les attributs avec de nouveaux objets .
ES6 introduit le concept de classe. Les classes peuvent être définies via le mot-clé class. Il s'agit d'un langage orienté objet qui correspond davantage à ce que nous comprenons habituellement.
class Person{ //定义一个名为Person的类 // 构造函数,用来接受参数 constructor(x,y){ this.x = x; //this代表的是实例对象 this.y = y; } todoSome(){ //这是个类的方法,不需要加function,有多个方法也不用逗号隔开 alert(this.x + "的年龄是" +this.y+"岁"); } } export default Person;
Les méthodes statiques et les propriétés statiques sont des propriétés et des méthodes qui utilisent le mot-clé statique
2.1 Méthodes statiques
static classMethod(){ console.log('123456') }
la classe peut être héritée à l'aide du mot-clé extends
Héritage ES6, super() doit être utilisé dans le constructeur de sous-classe. Parce que l'héritage ES6 y ajoute d'abord les attributs et les méthodes de l'objet d'instance de classe parent, puis appelle le constructeur de la sous-classe pour le modifier. Si la sous-classe ne définit pas de méthode constructeur, super() l'ajoutera par défaut. la sous-classe héritera des méthodes et des attributs de la classe parent, mais les méthodes et attributs statiques doivent être appelés via le nom de classe de la sous-classelet p = new Point(); p.classMethod(); // 报错
static prop = 1 ; // 静态属性
import classtest from "./classtest"; //先引入父类 class Man extends classtest{ constructor(x,y){ //构造函数尽量与父类参数保持一致 super(); //利用super()关键字,这个必须放在子类构造函数中的第一位置 this.x = x; this.y = y; } } export default Man;
【Apprentissage recommandé :
Tutoriel avancé javascript】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!