obj:forEach循环中的any(如何避免隐式any)

时间:2018-11-28 09:21:39

标签: typescript typescript-typings

我有以下代码:

(object as any).children.forEach( obj => { });

我已将(对象设置为“ any”),因为孩子是私有的,因此如果没有“ any”,我将无法访问它。我希望将其设为私有,因为它在muy单元测试中,所以我在这里访问它。

但是我在obj Parameter 'obj' implicitly has an 'any' type上收到以下错误。我的编译选项不允许这样做。

如何设置obj的类型?我知道它是什么类型。

谢谢。

1 个答案:

答案 0 :(得分:1)

  

如何设置obj的类型?我知道它是什么类型。

只需声明一下即可。例如,如果类型为Foo

(object as any).children.forEach( (obj: Foo) => { });
// -------------------------------^---^^^^^^

但是:

  

我将(对象设置为任何对象)是因为孩子是私人的,所以如果没有'any',我将无法访问它

这表明您应该

  1. 无法访问它,或者
  2. 如果应允许在您访问的地方访问它,则将其公开。

...而不是与as any一起解决。