es6解读4:类

类的基本定义和生成实例: class

class Parent{
    constructor(name='leilei'){
        this.name=name;
    }
}
let v_parent=new Parent('ymy');
console.log(v_parent.name)

类的继承: extends

class Parent{
    constructor(name='leilei'){
        this.name=name;
    }
}
class Child extends Parent{
    //继承:子类怎么在自己的构造函数中传递参数
    constructor(name='child'){
        super(name);//如果不传参,子类使用的是父类默认的参数;super一定放在构造函数的第一行;
        this.type='child';
    }
}
console.dir(new Child('hello'))

类中的getter和setter

  • 分别用来获取属性和设置属性
class Parent{
    constructor(name='leilei'){
        this.name=name;
    }
    get longName(){
        return 'ymy '+this.name;
    }
    set longName(value){
        this.name=value;
    }
}
// 创建实例
let p1=new Parent();
console.log(p1.longName) //获取属性
p1.longName='tangtang'; //设置属性

给类中添加静态方法 static

  • 注意:static属性只能用来设置类的静态方法,不能用来设置类的静态属性
  • 类的静态属性只能通过: 类.key=value;来设置
  • 类的静态方法,只有类能使用,实例不能使用,实例只能使用原型上的属性和方法;
class Parent{
    constructor(name='leilei'){
        this.name=name;
    }
    //设置静态方法
    static tell(){
        console.log('tell');
    }
}
Parent.sex='gril';  //设置类的静态属性
Parent.tell() //调用类的静态方法;
    原文作者:张蕾_
    原文地址: https://www.jianshu.com/p/bb424fce5906
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞