Closure Compiler - 警告:找到受限索引类型:string,required:number

时间:2016-08-15 09:53:12

标签: google-closure-compiler

我收到了这个警告:

WARNING - restricted index type

found   : string
required: number

someArray[ index ].doSomething();

在关闭编译器升级到最新版本之后会发生这种情况。 看起来封闭编译器不推荐使用数组的字符串类型索引。

这个问题的推荐解决方案是什么?

顺便说一句。有没有办法禁用检查这些警告类型(我查看了CC标志列表,找不到任何东西)?

1 个答案:

答案 0 :(得分:0)

如果索引变量的类型为string,则应首先解析它。 尝试

someArray[parseInt(index)].doSomething();

此外,我认为它首先是一个字符串的原因是它来自某个地方,如DOM属性或HTML输入。在使用之前,您可能希望确保该值有效。

const parsedIndex = parseInt(index);
if (isNaN(parsedIndex) || index < 0) {
  throw 'Invalid index';
}
someArray[parsedIndex].doSomething();