JavaScript 静态方法


JavaScript静态方法是指在类上定义的一种方法,只能在类本身上调用,而不能通过类的实例调用。静态方法可以用来实现一些常用的功能,而且通常不需要创建实例即可调用。

使用static关键字来定义静态方法,静态方法可以访问类的静态属性和方法,但不能访问实例的属性和方法。

以下是静态方法的语法格式:

class ClassName {
  static methodName() {
    // code...
  }
}

接下来看一下使用静态方法的示例:

class Car {
  static calculateMPG(miles, gallons) {
    return miles / gallons;
  }
}

console.log(Car.calculateMPG(300, 15)); // 20

在上面的代码中,我们定义了一个Car类,并在该类上定义了一个静态方法calculateMPG来计算汽车的每加仑油能行驶的英里数。

然后,我们直接通过类名Car调用calculateMPG方法并传入参数,在控制台上输出结果20。

另外,如果要在静态方法中访问类的静态属性,可以使用类名来引用:

class Car {
  static tax = 0.10;

  static calculatePrice(price) {
    return price + (price * Car.tax);
  }
}

console.log(Car.calculatePrice(100)); // 110

在上面的代码中,我们在Car类上定义了一个静态属性tax,并在calculatePrice方法中使用了类名Car来引用该属性,并用它来计算新的价格。

最后,需要注意的是,虽然静态方法不能通过类的实例来调用,但可以通过子类继承并调用它们。

总结一下,静态方法可以定义在类上,只能通过类名调用,可以访问类的静态属性和方法,但不能访问实例的属性和方法,可以用于实现一些常用的功能。