哪个版本的ECMA-262是否支持Google Apps脚本?

时间:2013-06-22 15:38:09

标签: google-apps-script

根据旧Google网上论坛的this thread,Apps脚本基于ECMA-262第3版。

这似乎得到了编辑器中的自动完成显示第3版阵列功能这一事实的支持。

然而,以下代码运行得非常好,这引起了人们的疑问:

var array = [
  1,2,3,4,5
];

Logger.log("forEach:");
array.forEach(function (item,idx,arr) {
  Logger.log(item); 
});

请注意每个使用ECMA-262第5版阵列功能。

有权威的人会给出明确的答案吗?为什么会这样?是否可以安全地依赖所有第5版功能或已经实施并且似乎有效的子集?

2 个答案:

答案 0 :(得分:25)

current documentation(2013年6月)称Apps脚本提供了ECMAScript 5的子集,基于JavaScript 1.8

修改:谷歌已经有所回落。截至2013年11月,他们报告的应用脚本基于1.6,分别为1.7和1.8。

答案 1 :(得分:0)

来自Built-in Google Services

Apps Script支持两种JavaScript运行时:现代的V8运行时和由Mozilla's Rhino JavaScript interpreter支持的旧的运行时。

V8 runtime支持现代的ECMAScript语法和功能。 Rhino的运行时基于较旧的JavaScript 1.6标准,以及1.71.8的一些功能。您可以自由选择要与脚本一起使用的运行时,但是强烈建议使用V8运行时。