gpt4 book ai didi

javascript - 为什么我必须为常规 "const"变量指定类型,而不是为 "const"循环中定义的 "for"变量指定类型?

转载 作者:搜寻专家 更新时间:2023-10-30 21:33:14 24 4
gpt4 key购买 nike

尽管 TypeScript 可以推断某些值的类型,但所有 TypeScript const 变量都需要类型定义:

const x: string = "Hello World!";

删除类型定义时:

const x = "Hello World!";

你得到一个看起来像这样的错误:

TypeScript Error

很自然地,我假设同样适用于 for 循环中定义的 const 变量。

问题是当我尝试的时候,我得到了这个错误:

error TS2483: The left-hand side of a 'for...of' statement cannot use a type annotation.

for (const [series_name, series_data]: [string, SeriesObject] of Object.entries(SERIES)) {                  ~~~~~~~~~~~~~~~~~~~~

有人可以解释为什么不允许这样做吗?

注意:这个问题关于const变量,变量。

最佳答案

我假设您正在使用 TSLint 来检查您的代码。

Typescript 不要求您将类型放在 const 变量上,但 TSLint 的 typedef 规则需要。您将能够在没有类型的情况下编译您的代码,并且变量的类型将为 Hello World,因为它是用 const 声明的。 Il 将可分配给 string

但是,TypeScript 不支持将类型放入 for 循环中。无论如何,这将是多余的,因为我们已经知道要循环遍历的数组的类型。

如果您不想被迫为变量添加类型,只需禁用 typedef TSLint 规则的“变量声明”选项即可。

关于javascript - 为什么我必须为常规 "const"变量指定类型,而不是为 "const"循环中定义的 "for"变量指定类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56242905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com