JS__class 入坑 chrome测试class 父子类 继承关系

emmm...直接通过测试来看父子关系吧:

class A{
    constructor(){//并非必须
        this.name="class_A";
        //console.log(this) //A {name: "class_A"} (另起一行)B {name: "class_A"} //父类子类分别执行了一次
    }
    static staticCallNameA(){
    return "name_A";
    }
    callNameA(){
    return "name_A";
    }
    static cover(){
    return "cover_A"
    }
}

class B extends A{
    constructor(){//子类可以不加
    super();//子类必须有
    //console.log(this)//B {name: "class_A"} //会直接打印
    }
    static staticCallNameB(){
    return "nameB";
    }
    callNameB(){
    return "name_B";
    }
    static cover(){
    return "cover_B"
    }
}
console.log(A.name,B.name) //A B //(类名)
console.log(A.staticCallNameA(),B.staticCallNameA()) //static子类继承父类
console.log(A.cover(),B.cover()) //cover_A cover_B //先读子类再读父类
console.log(A.staticCallNameB) //undefined //父类不具备子类特有函数
console.log(A.callNameA,B.callNameA) //undefined undefined //非static方法类不能直接调用

let a=new A(),b=new B; //加不加括号效果一样
console.log(a.name); //class_A
console.log(a.name,b.name) //class_A class_A
console.log(a.callNameA(),a.callNameB,b.callNameB(),b.callNameA()) 
//name_A undefined name_B name_A //继承关系同上
 console.log(a.staticCallNameA) //static 方法只能通过类名调用

 

欢迎各位大神指点...

转载于:https://www.cnblogs.com/xin-note/p/9604463.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值