首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google脚本错误修复

Google脚本错误修复
EN

Stack Overflow用户
提问于 2018-01-17 03:44:21
回答 2查看 5K关注 0票数 12

考虑到这个Google脚本脚本:

代码语言:javascript
复制
'use strict'
const foo = 2;
function bar() {
  Logger.log(foo + 2);
}

运行函数bar将生成一个TypeError: redeclaration of const foo.

为什么?foo是如何被重新声明的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-17 04:47:05

这似乎是由于ES6的不稳定实现所致。如果从函数中删除foo,仍然会得到错误,因此错误来自全局const声明。下面的代码会产生相同的错误,但如果您注释掉const,则不会产生错误。

代码语言:javascript
复制
const foo = 2;

function bar() {
  const bar = 2;
  Logger.log(bar + 2);
}

请参阅Google脚本Javascript标准支持,特别是第一个评论。

票数 11
EN

Stack Overflow用户

发布于 2019-01-29 04:32:52

更新:使用新运行时(V8),问题中的代码不再抛出错误,但禁用它,旧运行时(Rhino)仍然抛出错误。

来自应用程序脚本确定作用域问题

暂时避免在Apps脚本中使用const。它只是不能正常工作。目前,这仅仅是var的半烤版本。

以上所指的是在新的运行库可用之前,使用发布时可用的运行库。

来自同一来源

应用程序脚本是基于ES3 JavaScript的,有相当多的来自ES5,甚至ES6的添加。

要读取主源,请转到特性

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48293261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档