1

我想在我的项目中使用gts 。

它在 tslint.json 中有规则"no-any": true。该规则完全禁止any在代码中的任何位置使用关键字。处理它的常见用例是什么功能可以接受任何类型。我知道我可以覆盖此规则。但是我想知道当例如执行 sql 的函数接受不同类型的参数时,有人会如何处理这种情况。是否有处理这种情况的最佳做法?

唯一想到的是通过以下方式指定所有原语类型|

param: string| number| Date;

但是,如果我在已经接受的函数中包装了一些外部代码,例如mysqlany[]怎么办。

4

1 回答 1

2

我认为大多数情况应该被unknown. unknown是更安全的替代方案any。基本思想是您可以将任何内容分配给unknownlike any,但与any没有unknown显式检查或类型断言的情况不同,这可能是您想要的(有关详细信息,请参见此处)。

您可能仍然会遇到unknown不能仅替换的极端情况any(想到具有函数约束的类型参数strictFunctionTypes),但它通常应该可以工作。

于 2019-03-19T08:53:08.577 回答