es6新增了class关键字用来定义类,但其绝大部分功能,es5都能做到,所以class也可以看作只是一个语法糖。
class Point{
constructor(x, y){
this.x = x;
this.y = y;
}
toString(){}
}
注意: 类的构造函数,不使用new是没法调用的,会报错,这点与普通的构造函数不同,后者不用new也能执行
通过关键字extends实现继承
class coloPoint extends Point{
constructor(x, y, color){
super(x, y) // 调用父类的constructor,必须在使用this之前调用此 方法
}
toString(){
return super.toString(); // 调用父类的方法
}
}
通过给方法前加上static关键字,可以将该方法定义成静态方法
class Foo{
static classMethod(){}
}
Foo.classMethod();
// 同时静态方法也可以被子类继承
class Bar extends Foo{}
Bar.classMethod();