ES5类的定义
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.run = function () {
console.log(this.name, this.age, "run");
};
const p = new Person("zhangsan", 24);
p.run();
ES6类的定义
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
run() {
console.log(this.name, this.age, "run");
}
}
const p = new Person('zhangsan',22);
p.run();
ES6的继承
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
run() {
console.log("running");
}
}
class Student extends Person {
constructor(name, age, snum) {
super(name, age);
this.snum = snum;
}
}
const stu = new Student("zhuangtao", 22, 110);
console.log(stu.name, stu.age, stu.snum);
stu.run();