class继承
之前讲到JavaScript中并没有类的概念,所以只能通过原型去实现类以及继承的效果,这样做代码实现量大,而且还要实现正确的原型链指向,比较麻烦。现在,最新的ES6开始引入了新
的class关键字,终于可以像写Java的类那样写JavaScript的继承了!
之前用函数实现类Student是这样的:
1 | function Student(name) { |
而现在有了class,我们可以这样子写:
class Student {
constructor(name){
this.name = name;
}
hello() {
alert(‘helo,’+this.name+’!’);
}
}
可以看到,有了class后,方便简洁了许多,代码量大大地减少。此时实例化一个对象也非常简单:
1 | var xiaoming = new Student('小明'); |
class继承
现在实现一个类的继承也非常简单,通过extends关键字。
1 | class PrimaryStudent extends Student() { |
PrimaryStudent类作为Student的子类,同样可以获取父类的hello方法,除此之外,它还定义了属于自己的myGrade方法。
总结:JavaScript面向对象是一个比较难理解的知识点,尤其是创建原型并且原型的继承十分地麻烦,虽说CS6标准里引入了class这关键字,然而并不是所有地主流浏览器都支持class书
写,兼容其实不是特别好,但只要多看,多学习,多查资料,在结合实践,相信可以很好地掌握好面向对象编程的知识点。
v1.5.2