You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google App Script不支持static关键字 如何使用静态方法?

问题解决:Google App Script中静态方法的使用

你遇到的ReferenceError: trythis is not defined报错,不是因为Google App Script(GAS)不支持static关键字——目前基于V8引擎的GAS运行时完全支持ES6的类和静态方法语法,错误来自你对静态方法的调用逻辑不符合规范:静态方法是挂载在类本身上的方法,不属于全局作用域,也不能通过类的实例调用。

正确代码修改

把你原来test123函数里的调用语句修改即可:

class Test{
  constructor(a){
    this.a = a;
  }
  static trythis(b,c){
    return b*c;
  }
}

function test123(){
  let test = new Test(123)
  Logger.log(test)
  // 静态方法需要通过类名调用,不能直接写方法名
  let test2 = Test.trythis(2,3)
  Logger.log(test2)
} 

运行上面的代码就能正常输出结果。

兼容旧版Rhino运行时的方案

如果你使用的是不支持ES6类语法的旧版Rhino运行时,可以用传统构造函数的方式实现静态方法:

// 构造函数
function Test(a) {
  this.a = a;
}
// 直接给构造函数挂载方法实现静态效果
Test.trythis = function(b,c) {
  return b * c;
}

function test123(){
  let test = new Test(123)
  Logger.log(test)
  let test2 = Test.trythis(2,3)
  Logger.log(test2)
}

这种写法在新旧版GAS运行时都能正常运行。

内容的提问来源于stack exchange,提问作者Dan Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:09:00