类是es6中新增加的概念,类的本质是一个函数,只是ES6中将这个函数封装了起来,并取名叫类,实际上类的大部分功能使用ES5依然可以实现,本质是一个语法糖
这里写一份class创建与继承完整代码
// 父级构造函数
class ajm {
constructor(name, age) {
this.name = name;
this.age = age;
}
say() {
console.log('我是父构造函数');
}
}
// 父级构造函数实例
let father = new ajm("娃哈哈", 18);
console.log(father);
// 子级继承父级的两个属性,并且具有自己的专属属性sex
class son extends ajm {
constructor(name, age, sex) {
// 使用super关键字将这两个参数指向父级
super(name, age);
this.sex = sex;
}
//子构造函数的专属方法
Gua() {
console.log('我是子构造函数的专属方法');
//在子构造函数中调用父构造函数的方法
super.Sa();
}
}
//创建子构造函数实例
let fn = new son('哎嘿嘿', 30, '男');
console.log(fn);
// 子级构造函数能使用自己专属的方法和父级的方法
fn.say();
fn.Gua();