我尝试使用私人课程特色 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields在 Google Apps 脚本中,使用以下代码片段:
class Feed
{
#user;
#password;
url;
constructor(url, credentials)
{
// class constructor
this.url = url;
this.#user = credentials.user;
this.#password = credentials.password;
}
}
旨在通过以下方式调用它:
const url = "https://URL"
const credentials = {user: 'user', password: 'password'};
let feed = new Feed(url, credentials);
保存文件时,显示以下错误,似乎表明 Google Apps 脚本不支持私有类功能:
Syntax error: ParseError: Unexpected token ILLEGAL line: 3 file: Testing.gs
我删除了第三行的“#”,如下所示:
class Feed
{
user;
#password;
url;
constructor(url, credentials)
{
// class constructor
this.url = url;
this.#user = credentials.user;
this.#password = credentials.password;
}
}
并在保存时收到以下错误:
Syntax error: SyntaxError: Private field '#user' must be declared in an enclosing class line: 11 file: Testing.gs
我搜索了一下,发现使用 Google Apps 脚本 (GAS) V8 定义私有类字段 https://stackoverflow.com/questions/61132189/define-private-class-fields-with-google-apps-scripts-gas-v8这表明(当时)Google Apps 脚本不支持私有类功能。虽然第一条错误消息似乎证实了这种情况,但第二条错误消息暗示 Apps 脚本理解私有类字段。
问题:
- Google Apps 脚本 (v8) 支持私有类字段吗?
- 如果是的话,它们应该如何实施?
Thanks,
Fergal