ES6中 有了Class(类的概念),这使得原型、构造函数,继承等显得更加简单
// 定义一个类
class Cat{
// 里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。
// constructor内定义的方法和属性是实例对象自己的
// 而constructor外定义的方法和属性则是所有实例对象可以共享的原型链上的方法
constructor(){
this.type= 'cat';
}
say(name){
console.log(`${name} is a ${this.type} `)
}
}
var m = new Cat();
m.say('luck'); // luck is a cat
// class之间可以通过extends关键字实现继承
class Newcat extends Cat{
constructor(){
super(); // 调用super()是继承父类的this对象
}
}
// ES6的继承机制,实质是先创造父类的实例对象this
// 所以必须先调用super方法,然后再用子类的构造函数修改this。
网友评论