JavaScript 面试题
目录

JavaScript 中 class 关键字的用法?

· 约 6 分钟读完 · 第 384 / 507 章

推荐答案

本题详细解读

1. class 关键字的基本用法

class 关键字用于定义一个类。类是 JavaScript 中面向对象编程的基础,它允许你创建具有属性和方法的对象。类定义的基本语法如下:

  • constructor 方法是类的构造函数,用于初始化对象的属性。当你使用 new 关键字创建类的实例时,constructor 方法会被自动调用。
  • 类中的方法定义不需要使用 function 关键字。

2. 类的继承

JavaScript 中的类支持继承,使用 extends 关键字可以实现类的继承。子类可以继承父类的属性和方法,并且可以重写父类的方法。

  • super 关键字用于调用父类的构造函数或方法。在子类的构造函数中,super 必须在使用 this 关键字之前调用。

3. 静态方法和属性

类还可以定义静态方法和属性,这些方法和属性属于类本身,而不是类的实例。静态方法通常用于执行与类相关的操作,而不是与实例相关的操作。

  • 静态方法和属性通过类名直接调用,而不是通过类的实例调用。

4. 类的实例化

使用 new 关键字可以创建类的实例。实例化类时,会调用类的构造函数,并返回一个新的对象。

  • 实例化类时,可以传递参数给构造函数,这些参数会用于初始化对象的属性。

5. 类的私有字段和方法

从 ES2022 开始,JavaScript 支持私有字段和方法。私有字段和方法只能在类的内部访问,外部无法直接访问。

  • 私有字段和方法使用 # 前缀定义,只能在类的内部访问。

6. 类的 getter 和 setter

类中可以定义 getter 和 setter 方法,用于控制对类属性的访问和修改。

  • getter 和 setter 方法允许你在访问或修改属性时执行自定义的逻辑。

7. 类的 this 绑定

在类的方法中,this 关键字指向当前实例。如果方法被提取出来单独使用,this 可能会丢失绑定。为了避免这种情况,可以使用箭头函数或 bind 方法来绑定 this。

  • 箭头函数会自动绑定 this,而普通函数需要使用 bind 方法来绑定 this。