ES6新特性(五)class类

一、创建类和对象

1.1. 在ES5中使用的是function关键字创建类, ES6引入了 class 关键字来创建类。
1.2. 创建类的实例使用 new 关键字。
1.3. 类的 constructor 构造函数:用于传递参数,返回实例对象,通过 new 关键字生成实例时,自动调用该方法。如果没有显式声明构造函数,在类的内部会自动创建一个默认的constructor()构造函数。
1.4. 在类中声明实例方法则使用 方法名(){ 方法体 } ,并且在各方法之间是不需要使用逗号隔开的。

//创建类和对象
class Test{
            
    constructor(str){//构造函数
        this.str = str;
    }
            
    say(){        //实例方法
        console.log(this.str);//hello
    }
}
        
let test = new Test('hello');//生成实例
test.say();//调用实例方法

在上述代码中,创建了一个Test类,类的内部声明了一个构造函数和一个实例函数,外部使用new关键字创建了类的实例对象,在创建类的实例对象时会自动调用构造函数,并把 ‘hello’ 字符串赋值给Test类的 str 属性,然后使用 test 对象调用实例函数say()。
注意:在类的内部声明的方法不需要加function关键字,构造方法只能声明一个或者不声明使用默认的构造方法,否则报错。

二、继承

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

//类的继承
//父类Parent
class Parent{
            
   constructor(str){//父类的构造函数
      this.str = str;
   {
            
}
    
//子类 Child 使用extends继承Parent类
class Child extends Parent{
            
    constructor(str){
        super();    //super关键字调用父类的构造方法
        this.str = str; //使用this关键字给Child的属性str赋值15     }
            
    say(){
        console.log('子类的实例方法');
    }
}
        
let child = new Child('hello');//生成Child类的实例对象
child.say();//调用child类的实例方法

三、静态方法和静态属性

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

//静态方法和静态属性
class Test{
            
    static say(str){//静态方法
        console.log(str);//hello
    }
    static str2 = 'world';//静态属性
}
console.log(Test.str);//使用类名调用静态属性 : world
Test.say('hello');//使用类名调用静态方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值