netsuite 当前在什么版本的 javascript 上运行 SuiteScripts?
这是我的理解:SuiteScript 是一个在 javascript 引擎上运行的 NetSuite 脚本 API。 Javascript 有多个版本(例如 ES6 和 ES7)。该引擎使用哪个版本?或者,也许我应该问“SuiteScript 在什么 javascript 引擎上运行?”。然后我可以查找引擎运行的 javascript 版本?
让我举一个实际的例子来说明我的意思。在 javascript 版本 ECMAScript 7 中,您可以声明 async function,但在 ECMAScript 6 中则不能。我可以在 SuiteScript 中声明“异步函数”吗? (任意示例)
对于服务器端,我相信它是 ECMAScript 5(或者说它已经按照我的目的工作了)。所以没有异步/等待,抱歉。您可以使用自己的 Promises 实现(或使用包含 Promise 的 Suitescript 2.0)。客户端取决于运行它的浏览器,因此如果您的同事浏览器支持异步,您可以使用异步。
服务器端 Javascript 运行在 Rhino 上(不确定版本),与 Node.js 不同,并且运行起来更像是无法访问 window 的浏览器环境。对支持设置了某些限制(没有 XMLHTTPRequest,相反,您必须使用它们的内置方法之一,等等)。
谨向大家更新:从 Suitescript 2.1 开始支持 ES9,因此现在您可以拥有服务器端承诺和异步/等待。
报价:
有关所有 ECMAScript 功能的完整概述,请参阅 2019 规范。
这是版本10。
直接回答问题:
正如其他人已经回答的那样,Netsuite 的文档与 ECMAScript 2019 文档相结合将成为您的指南。