ES6中的类以及继承

super关键字用于访问和调用父类上的构造函数,也可以调用父类的普通函数。
super必须在子类this之前调用

 class Star{
            constructor(name,age){
                this.name=name;
                this.age=age;
            }
            message(){
                return "姓名:"+this.name+","+"年龄"+this.age
            }
        }
        let test=new Star("lisa",23)
        console.log(test.name); //lisa
        console.log(test.message())//姓名:lisa,年龄23

        class Father{
            constructor(x,y){
                this.x=x;
                this.y=y
            }
            sum(){
                console.log(this.x+this.y)
            }
            say(){
                return "hello"
            }
        }
        class Child extends Father{
            constructor(x,y){
                //利用super调用父类的构造函数
                super(x,y)
                this.x=x;
                this.y=y;
            }
            sub(){
                console.log(this.x-this.y) 
            }
            hello(){
                console.log(super.say())//调用父类的普通函数
            }
        }
        let test1=new Child(11,2)
        test1.sum();//13
        test1.sub();//9
        test1.hello();//hello

注意:1.类没有变量提升,所以先有类才能实例化
2.类里面共有的属性和方法必须要加this使用
3.constructor中的this指向实例对象,方法里面的this指向这个方法的调用者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值