node.js中会用到类的继承封装,vue中不用(使用函数对象)
1.举例
Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多
-
子类必须在constructor方法中调用super方法,否则新建实例时会报错
-
ES5 的继承,实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面(Parent.apply(this))
-
ES6 的继承机制完全不同,实质是先将父类实例对象的属性和方法,加到this上面(所以必须先调用super方法),然后再用子类的构造函数修改this【否则会报错】
(1)
//子类拿到父类相关属性和方法
class getColor extends Point{
constructor(color,x,y){
//继承后super关键字 指父类的构造函数
//先将父类的属性和方法给子类,再去使用this
super();
this.color=color;
};
}
let color=new getColor("blue",12,22);
console.log(color);
(2)
class Person{
name;
age;
sex;
constructor(name,age,sex){
this.name=<