首页 > 其他 > 详细

ES6新特性(五)class类

时间:2020-04-27 00:11:40      阅读:100      评论:0      收藏:0      [点我收藏+]

一、创建类和对象

  1.1. 在ES5中使用的是function关键字创建类, ES6引入了 class 关键字来创建类。

  1.2. 创建类的实例使用 new 关键字

  1.3. 类的 constructor 构造函数:用于传递参数,返回实例对象,通过 new 关键字生成实例时,自动调用该方法。如果没有显式声明构造函数,在类的内部会自动创建一个默认的constructor()构造函数。

  1.4. 在类中声明实例方法则使用  方法名(){ 方法体 } ,并且在各方法之间是不需要使用逗号隔开的。

 1 //创建类和对象
 2 class Test{
 3             
 4     constructor(str){//构造函数
 5         this.str = str;
 6     }
 7             
 8     say(){        //实例方法
 9         console.log(this.str);//hello
10     }
11 }
12         
13 let test = new Test(‘hello‘);//生成实例
14 test.say();//调用实例方法

    在上述代码中,创建了一个Test类,类的内部声明了一个构造函数和一个实例函数,外部使用new关键字创建了类的实例对象,在创建类的实例对象时会自动调用构造函数,并把 ‘hello’ 字符串赋值给Test类的 str 属性,然后使用 test 对象调用实例函数say()。

    注意:在类的内部声明的方法不需要加function关键字,构造方法只能声明一个或者不声明使用默认的构造方法,否则报错。

 

二、继承

  2.1. 类使用 extends 关键字来继承父类。

  2.2. 在子类中使用 super 关键字来调用父类的属性和方法。如果在子类的构造函数中使用this关键字,那么super关键字的代码必须在子类构造函数的第一行,否则报错。

 1 //类的继承
 2 //父类Parent
 3 class Parent{
 4             
 5    constructor(str){//父类的构造函数
      this.str = str;
   {
6 7 } 8 9 //子类 Child 使用extends继承Parent类 10 class Child extends Parent{ 11 12 constructor(str){ 13 super(); //super关键字调用父类的构造方法 14 this.str = str; //使用this关键字给Child的属性str赋值15 } 16 17 say(){ 18 console.log(‘子类的实例方法‘); 19 } 20 } 21 22 let child = new Child(‘hello‘);//生成Child类的实例对象 23 child.say();//调用child类的实例方法

 

  

三、静态方法和静态属性

  3.1. 静态方法和静态属性都是使用 static 修饰,直接使用类名调用。

 1 //静态方法和静态属性
 2 class Test{
 3             
 4     static say(str){//静态方法
 5         console.log(str);//hello
 6     }
 7     static str2 = ‘world‘;//静态属性
 8 }
 9 console.log(Test.str);//使用类名调用静态属性 : world
10 Test.say(‘hello‘);//使用类名调用静态方法

 

 

 

  

 

ES6新特性(五)class类

原文:https://www.cnblogs.com/zyonghua/p/12783300.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!