我想在项目中使用gts。
它在tslint.json "no-any": true
中具有规则。该规则完全禁止在代码中的任何地方使用any
关键字。处理它的函数的常见用例是什么,可以接受任何类型。我知道我可以覆盖此规则。但是我不知道有人会在例如执行sql的函数接受不同类型的参数。是否有最佳实践来处理这种情况?
唯一想到的是通过|
param: string| number| Date;
但是,如果我要包装一些外部代码,例如我的函数中的mysql已接受any[]
。
答案 0 :(得分:2)
我认为unknown
应该涵盖大多数情况。 unknown
是any
的更安全替代方案。基本思想是您可以像unknown
一样为any
分配任何内容,但与any
不同的是,如果没有显式检查或类型断言,unknown
不能做很多事您想要的内容(有关详细信息,请参见here)。
您可能仍然会遇到unknown
不能仅替换any
的极端情况(想到的是strictFunctionTypes
下具有函数约束的类型参数),但是通常可以正常工作。