我应该将google app脚本功能创建为const吗

问题描述

长时间休息并升级到V8引擎后,我将重返工作表。

在使用函数声明时,如果不小心重用了相同的函数名称,则会遇到一个问题,该问题被第二个声明覆盖,例如以下示例(我知道不支持重载)。

function stuff() {
  return (`I'm doing stuff`);
}

function stuff() {
  return (`I'm doing stuff and things`);
}

function __test_stuff() {
  Logger.log(stuff());
}
// logging : "I'm doing stuff and things"

在项目中可以有一个第二个(或第n个)声明,该声明可以是另一个.gs文件,该代码将正确运行,但不确定哪个代码正在运行!

我应该将const函数表达式用作

const stuff = function stuff(e) {
  return ("I'm doing stuff,things and much much more");
}

当尝试使用多个声明运行时,这些给出错误 SyntaxError:标识符'stuff'已经被声明(第1行,文件“ stuff”)

这是件好事吗,因为它可以阻止功能被覆盖或停止等待中了?

nb。我一直在盯着我的眼睛,将每个函数代码分成单独的.gs文件。再次是好事吗?

解决方法

您应该注意,使用默认运行时(V8)时,Google Apps脚本编辑器中的调试代码存在一些未解决的问题。

除上述内容外,适用于JavaScript的相同建议也适用于Google Apps脚本,即I.E. Proper use of const for defining functions in JavaScript

一些可能对您有帮助的重要术语:

函数声明

function myFunction(){}

函数表达式

const aFunction = function(){}

使用varlet或什至不使用const甚至不使用(不使用严格模式的情况下)

资源