有些方法不需要实例化对象就能使用,就像工具箱里的工具!
使用 static 关键字定义静态方法,你可以直接通过 类名.方法名() 调用它。
那我可以在静态方法里用 this.name 访问实例的名字吗?😈
绝对不行!静态方法不属于任何实例,所以它没有实例的 this。
它通常用于辅助函数,比如 Math.max() 就是一个典型的静态方法。
class MathHelper {
static add(a, b) {
return a + b;
}
}
// 不需要 new MathHelper()
let sum = MathHelper.add(5, 10); // 15
直接调用 Calculator 类的静态方法进行计算,无需创建计算器实例。