类的基本定义和生成实例: class
class Parent{
constructor(name='leilei'){
this.name=name;
}
}
let v_parent=new Parent('ymy');
console.log(v_parent.name)
类的继承: extends
class Parent{
constructor(name='leilei'){
this.name=name;
}
}
class Child extends Parent{
//继承:子类怎么在自己的构造函数中传递参数
constructor(name='child'){
super(name);//如果不传参,子类使用的是父类默认的参数;super一定放在构造函数的第一行;
this.type='child';
}
}
console.dir(new Child('hello'))
类中的getter和setter
class Parent{
constructor(name='leilei'){
this.name=name;
}
get longName(){
return 'ymy '+this.name;
}
set longName(value){
this.name=value;
}
}
// 创建实例
let p1=new Parent();
console.log(p1.longName) //获取属性
p1.longName='tangtang'; //设置属性
给类中添加静态方法 static
- 注意:static属性只能用来设置类的静态方法,不能用来设置类的静态属性
- 类的静态属性只能通过: 类.key=value;来设置
- 类的静态方法,只有类能使用,实例不能使用,实例只能使用原型上的属性和方法;
class Parent{
constructor(name='leilei'){
this.name=name;
}
//设置静态方法
static tell(){
console.log('tell');
}
}
Parent.sex='gril'; //设置类的静态属性
Parent.tell() //调用类的静态方法;