Google App Script 新编辑器 - 字符串 属性 双下划线

Google App Script new editor - string property double underlined

可能是个 nube 问题,但我有一行代码:

var c = message.substring(i, i + 1);

它有效,但在新的 Google App Script 编辑器中,字符串 属性 "substring" 下面有一个双下划线,这似乎表明它是错误的,但它确实有效!

“Show Fixes”只给了我两个选择——忽略“错误”或禁用检查,这两个似乎都不是我想要做的。有什么想法吗?

我认为这是由于变量“message”的定义方式所致。我做了一个快速测试,试图复制您的场景,这就是我得到的结果:

有警告:

var message = 0
message = '123456789'
var c = message.substr(1, 5);

没有警告:

var message = '0'
message = '123456789'
var c = message.substr(1, 5);

两种情况结果相同,没有错误。如果您提供更多代码,我可以检查出现警告的原因。

编辑:

正如您在评论中所说,您的变量是使用 getValue()SpreadSheetrange 定义的,此方法 returns 具有cell 的值。如果你想获得一个字符串,你应该使用 getDisplayValue()。您还可以使用内置方法 toString() 来确保将任何变量转换为字符串。

参考文献: