javascript - 在 GAS Web 编辑器中输入符号
问题描述
我在 GAS 网络编辑器中创建了一个新脚本,出于某种原因,我决定在.gs
文件中添加一个类型符号:
当然,类型符号上有红色波浪线,但是String
当我text
在helloWorld
.
虽然将鼠标悬停在波浪状的文本上不会显示任何内容,但单击该行旁边的灯泡会为我提供一些ts
忽略选项:
如果我尝试保存或运行代码,我会收到以下错误:
Syntax error: SyntaxError: Unexpected token ':' line: 7 file: Code.ts.gs
我知道可以在本地环境中使用打字稿来开发 GAS,但网络编辑器的行为似乎表明那里可能有功能。我浏览了文档,找不到任何关于这种行为的信息。尽管
所以,我的问题是:这是一个功能还是一个错误?如果它是一项功能,我如何在网络编辑器中使用打字?它也非常适合自动完成 GAS 库!
解决方案
Google Apps 脚本使用 JavaScript,根据其规范,这种语言无法强制执行数据类型。您在 Google Apps Script 网络代码编辑器中看到的是从 Monaco 编辑器中获取的功能,其中一些可能没有完全适应,无论如何您可能会使用JSDoc,更具体地说是@param
告诉代码编辑器每个参数属于哪种数据类型的标记。
例子:
/**
* @param {string} text Add some fancy description
*/
function helloWorld(text){
text.split("").forEach((val, idx) => {
});
Logger.log(idx, val);
}
注意:Google Apps 脚本自定义库和 Google Sheets 自定义函数支持 JSDoc。
资源
- https://developers.google.com/apps-script/guides/libraries
- https://developers.google.com/apps-script/guides/sheets/functions
- 使用新的 Apps 脚本集成开发环境 (IDE) 脚本编辑器
有关的
推荐阅读
- javascript - 使用节点填充 mongo 中的对象数组
- listview - 如何从按钮获取对象单击列表视图行
- javascript - 如何在异步函数中一起批处理 React setState() 调用?
- c++ - Arduino Nano:使用串行输入时通过定时器不稳定的 A4988 步进控制
- node.js - 适用于桌面和移动设备的 Material UI 和 Bootstrap
- reactjs - 在 TypeScript 中键入 Redux 工具包的存储
- docker - Azure DevOps 同一代理 (VM) 上的多个 Docker 容器
- python - 通过 Python 使用 OAuth 访问 Sharepoint 资源
- mongodb - 如果值等于某事,MongoDB 排序
- haskell - Rust 的 Read 特征的 Haskell 等价物是什么?