ES6的class类的使用

1、class 类

通过new 出来的实例,访问的属性,叫实例属性
静态属性:通过构造函数访问到属性

注意1:在class的{}区间内,只能写构造器、静态方法和静态属性、实例方法
注意2:在class关键字内部,还是原来配方实现的,所以把class关键称为语法糖

class Animal{
    //每个类都有一个构造器,没有手动指定,就可以认为隐形存在空构造器,类似于constructor(){}
    //构造器的作用,每当new这个类的时候,必然优先执行这个构造器的代码
    constructor(name,age){
        //实例属性
        this.name=name
        this.age=age
    }

    //在class内部,通过static修饰的属性,就是静态属性
    static info="eee"

    //实例方法
    jiao(){
        console.log("动物的实例方法")
    }

   //静态方法
    static show(){
        console.log("动物的静态方法")
    }
}

const a1=new Animal("大黄",3)
console.log(a1)
console.log(a1.name)  //实例属性
console.log(Animal.info)  //静态属性

2、class 类的继承
语法:class 子类 extends 父类{}
语法规定:如果一个子类,通过extends继承了一个父类,那么,子类的constructor构造函数(显示写了)中,必须优先调用一下super() 

class Dog extends Animal{
    constructor(name,age,xxx){
        // super是一个函数,而且是父类的构造器;子类的super,其实就是父类中constructor构造器的一个引用
        super(name,age)
        //语法规范:this只能放到super之后使用
        this.xxx=xxx
    }
}

你可能感兴趣的:(javascript,ES6)