Typescript不安全的任意值赋值ESLint错误

ecr0jaav  于 2023-06-24  发布在  TypeScript
关注(0)|答案(3)|浏览(186)

对于Typescript来说,这是一个相当新的代码块:

let payload;
if (event.body) {
  payload = JSON.parse(event.body);
}

有效负载行从eslint抛出以下错误:

Unsafe assignment of an any value. eslint(@typescript-eslint/no-unsafe-assignment

这更多的是理解Typescript和eslint一起工作的复杂性的练习,我可以做些什么来解决这个问题?似乎一个小的变化会做的伎俩,但我还没有能够找到一个预先存在的问题与相同的意图。提前感谢您的帮助!

wn9m85ua

wn9m85ua1#

我知道了

let payload: unknown;

因此,eslint测试通过。

s5a0g9ez

s5a0g9ez2#

https://github.com/typescript-eslint/typescript-eslint/issues/2118上找到解决方案
我们可以使用外部函数来获取具有设置返回类型的数据,如:

function(str: string): Superobj {
  return JSON.parse() as Superobj
}
bis0qfac

bis0qfac3#

你所需要做的就是添加类型Assert。

let payload: IPayload;
if (event.body) {
  payload = JSON.parse(event.body) as IPayload;
}

相关问题