Typescript lint用“no-any”声明任何类型的正确方法是什么:true

问题描述 投票:0回答:1

我想在我的项目中使用gts

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

唯一想到的是通过|指定所有基元类型

param: string| number| Date;

但是,如果我要包装一些外部代码,例如我的功能中的mysql已经接受了any[]

typescript tslint gts
1个回答
2
投票

我认为unknown应该很好地覆盖大多数情况。 unknownany更安全的替代品。基本的想法是你可以像unknown一样给any分配任何东西,但是与any不同,你没有用unknown做很多事情而没有明确的检查或输入断言可能是你想要的(详见here)。

您可能仍会遇到角落情况,其中unknown不能仅仅取代anystrictFunctionTypes下具有函数约束的类型参数),但它通常应该起作用。

© www.soinside.com 2019 - 2024. All rights reserved.