类(class)
语法形式
class Person{
constructor(name,age){//构造方法(函数),调用new之后会自动执行
this.name = name;
this.age = age;
}
showName(){
return `名字为:${this.name}`;
}
showAge(){
return `名字为:${this.age}`;
}
}
let p1 = new Person('yang',18);
console.log(p1.showName(),p1.showAge());
也可以写成
const Person = class{}
class里面取值函数(getter)
class里面设置函数(setter)
class Person{
constructor(){
}
get aaa(){
return `aaa的属性`
}
set aaa(val){
console.log(val);
}
}
let p1 = new Person();
p1.aaa = 'aaa';
static静态方法:就是类身上的方法
class Person{
constructor(){
}
static aaa(){
return '这是静态方法'
}
}
console.log(Person.aaa());//用构造函数来调用
继承
//父类
class Person{
constructor(name){
this.name = name;
}
showName(){
return `名字为:${this.name}`;
}
}
//子类
class Student extends Person{
constructor(args){
super(args);//为了不覆盖父类的constructor
}
}
//调用
let stu1 = new Student('yang');
console.log(stu1.showName());//名字为:yang