首页 > 解决方案 > obj: forEach 循环中的 any(如何避免隐式 any)

问题描述

我有以下代码:

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

我已经设置(对象为任意),因为孩子是私人的,所以如果没有“任何”,我就无法访问它。我希望它是私有的,我在这里访问它,因为它在许多单元测试中。

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

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

谢谢。

标签: typescripttypescript-typings

解决方案


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

就申报吧。例如,如果类型是Foo

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

但:

我已经设置(对象为任何)因为孩子是私人的,所以我不能在没有“任何”的情况下访问它

这表明你应该要么

  1. 不访问它,或者
  2. 如果应该允许在您访问它的地方访问它,请将其公开

...而不是使用as any.


推荐阅读