Javascript 如何在google脚本中声明自定义类?
我想在脚本中创建一个类 Google Apps脚本语言基于javaScript,因此我从javaScript手册中选取了一个示例:Javascript 如何在google脚本中声明自定义类?,javascript,class,google-apps-script,Javascript,Class,Google Apps Script,我想在脚本中创建一个类 Google Apps脚本语言基于javaScript,因此我从javaScript手册中选取了一个示例: class Polygon { constructor(height, width) { this.height = height; this.width = width; } } 然而,这不起作用。我收到以下错误消息: Missing ; before statement. (line 1, file "Code") 这是否意味着不可能
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
然而,这不起作用。我收到以下错误消息:
Missing ; before statement. (line 1, file "Code")
这是否意味着不可能在google脚本中创建新类
或者我应该使用不同的语法吗?更新:
截至2020年春季,谷歌推出了一个支持类的应用程序脚本。默认情况下,新脚本使用此运行时,而旧脚本必须转换。脚本编辑器中将显示一个提示,您可以从中转换脚本
原始答复:
从历史上看,Javascript是一种“无类”语言,类是一种尚未被广泛采用的较新功能,显然应用程序脚本还不支持它
下面是一个如何在应用程序脚本中模拟类行为的示例:
var Polygon = function(height, width){
this.height = height;
this.width = width;
this.logDimension = function(){
Logger.log(this.height);
Logger.log(this.width);
}
};
function testPoly(){
var poly1 = new Polygon(1,2);
var poly2 = new Polygon(3,4);
Logger.log(poly1);
Logger.log(poly2);
poly2.logDimension();
}
TypeScript现在可以与GAS一起使用。要使用它,请使用
clasp
下载脚本文件,然后通过将文件后缀更改为.ts
将其转换为TypeScript。有关更多信息,请访问。完成此操作后,就可以使用class
用于实现GoogleSheets自定义函数的TypeScript示例可在中找到。那么本例中的JSDoc如何?我无法使自动完成功能适用于此方法中定义的类。知道怎么做吗?更新:现在可以了。通过应用程序脚本库引用类时,它必须是
var x=new LibraryName.ClassName()代码>什么是LibraryName?包含类的文件名?@AdaLovelace Antonio指的是将外部应用程序脚本项目作为库导入到另一个项目中的情况,在这种情况下,您在设置库名时指定了库名。如果该类是在同一个项目中定义的(不管.gs文件如何),则只需直接使用类名,如上面的示例所示。以下是关于库的文档:@CameronRoberts:由于使用了Chrome v8,您现在可以在Google应用程序脚本中使用类: