Какая версия ECMA-262 поддерживает скрипт Google Apps?

Согласно этой ветке из старого Google Group, скрипт приложений основан на 3-м издании ECMA-262.

Казалось бы, это подтверждается тем фактом, что автозаполнение в редакторе отображает функции массива 3-го издания.

Однако следующий код работает отлично, что ставит под сомнение:

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

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

Обратите внимание на использование функции массива ECMA-262 5-го издания для каждого.

Может ли кто-нибудь с авторитетным умом дать окончательный ответ на вопрос, почему это так? И безопасно ли полагаться на все функции 5-го издания или их часть, которые были реализованы и, похоже, работают?


person chrisbateskeegan    schedule 22.06.2013    source источник


Ответы (2)


В документации говорится, что старая среда выполнения основана на Mozilla Rhino JavaScript. интерпретатор, который предоставляет подмножество ECMAScript 5 и основан на 1.6, с небольшим разбросом 1.7 и 1.8.

Новая среда выполнения скрипта приложений поддерживается средой выполнения V8 за некоторыми исключениями. как модули E6.

person Mogsdad    schedule 24.06.2013
comment
По состоянию на февраль 2020 года Apps Script поддерживает среду выполнения V8 и современные функции ECMAScript: developers.google .com / apps-script / guides / services /. - person Kos; 06.02.2020

Из встроенных служб Google

Apps Script поддерживает две среды выполнения JavaScript: современную среду выполнения V8 и более старую, работающую на интерпретатор JavaScript Rhino от Mozilla.

среда выполнения V8 поддерживает современные синтаксис и функции ECMAScript. Среда выполнения Rhino основана на более ранней версии JavaScript 1.6. стандартный, а также несколько функций из 1.7 и 1.8. Вы можете свободно выбирать, какую среду выполнения использовать со сценарием, но настоятельно рекомендуется использовать среду выполнения V8.

person Community    schedule 15.06.2020