返回
ES6 中的 class super extends 用法详解
前端
2023-12-16 20:21:44
- class
class 关键字用于定义类,它可以将一组相关的属性和方法组织在一起。类的语法如下:
class ClassName {
// 属性
propertyName = value;
// 构造函数
constructor(param1, param2) {
this.param1 = param1;
this.param2 = param2;
}
// 实例方法
methodName() {
// 方法体
}
// 静态方法
static staticMethodName() {
// 方法体
}
}
2. extends 关键字
extends 关键字用于指定子类与父类的关系,子类可以继承父类中的属性和方法。类的语法如下:
class ChildClass extends ParentClass {
// 属性
childProperty = value;
// 构造函数
constructor(param1, param2) {
super(param1, param2);
this.childProperty = value;
}
// 实例方法
childMethod() {
// 方法体
}
}
3. super 关键字
super 关键字用于访问父类中的属性和方法。super 可以作为函数调用,也可以作为表达式使用。
3.1 super() 函数调用
super() 函数调用用于在子类的构造函数中调用父类的构造函数。例如:
class ChildClass extends ParentClass {
constructor(param1, param2) {
super(param1, param2);
this.childProperty = value;
}
}
3.2 super 表达式
super 表达式用于访问父类中的属性和方法。例如:
class ChildClass extends ParentClass {
childMethod() {
return super.parentMethod();
}
}
4. 实例方法和静态方法
4.1 实例方法
实例方法是属于类的实例的方法,可以通过类实例来调用。实例方法的语法如下:
class ClassName {
methodName() {
// 方法体
}
}
const instance = new ClassName();
instance.methodName();
4.2 静态方法
静态方法是属于类的静态方法,可以通过类本身来调用。静态方法的语法如下:
class ClassName {
static staticMethodName() {
// 方法体
}
}
ClassName.staticMethodName();
5. 总结
ES6 中的 class、super、extends 等关键字提供了强大的面向对象编程特性,使得 JavaScript 的编程更加简洁和易读。通过这些关键字,我们可以轻松地实现类的继承、构造函数、实例方法和静态方法,从而编写出更加复杂和健壮的代码。