前言
继承是面向对象的特点,那么Js也可以借助prototype来模拟继承机制,以下分别使用Es5和Es6来实现继承
实现继承的目的是,实现代码的复用
1
Es5实现继承
如下是示例代码
// 用function...我的年龄是${this.age}`);
}
var dog = new Dog('小黑',4); // 新建一个Dog对象
dog.outMsg(); // 调用dog的outMsg()函数
以上就是使用...如果你写过React类组件,那对这个super会比较熟悉,接收父组件传递过来的属性,super(props)的
Es6中的类主要是解决Es5中麻烦的this以及constructor指向的改动
在Es6中直接使用...extends和super()就能解决
分析
在最上面的用Es5继承方式中,先是定义了一个Animal类,然后又定义了一个Dog类,Dog的prototype完全使用Animal内部的属性和函数
这样Dog...就继承了Animal所有的属性和函数,所以,在Dog类的构造函数里,可以访问和修改在Animal中定义的姓名和年龄