{
class People {
constructor(name)
{
this.name = name;
}
sayName() {
console.log(this.name);
}
};
class Student extends People {
constructor(name, grade)
{
super(name);
this.grade = grade;
}
sayGrade() {
console.log(this.grade);
}
};
const stu = new Student('adiu', '幼儿园');
stu.sayGrade();
stu.sayName();
}
说明
子类可以继承父类的所有属性和方法
supper()方法调用父类的构造函数(即父类的** this **);子类必须在constructor方法中调用 supper() ,否则新建实例时会报错 this is not defined ,这是因为子类没有自己的 this对象,而是继承父类的this对象,然后对其进行加工;如果不调用super方法,子类就得不到this对象
{
class People {
constructor(name)
{
this.name = name;
}
get name() {
return this._name.toString().toUpperCase();
}
set name(name) {
this._name = name;
}
sayName() {
console.log(this.name);
}
};
const result = new People('adiu');
console.log(result.name);
console.log(result._name);
result.sayName();
}
说明
在class内部使用 get 和 set 关键字,对某个属性设置取值和赋值函数(定义读写器),拦截该属性的存取行为