在打字稿中明确分配任何类型
Explicitly assign any type in typescript
目前我们正在将我们的代码库迁移到打字稿,我们有很多地方可以使用任何类型。所以我试图强制执行显式设置变量。
这是示例片段。
const a: string = 'h';
const b: any = 4;
const message = a || b;
// Here I would like to get warning that I am assigning any to the message,
// so I would have to write const message: any = a || b;
function say(x: string) {
console.log(x);
}
say(message);
我知道 tslint 规则 typedef
(它要求对所有变量进行 typedef,而不仅仅是在任何情况下),还有 no-unsafe-any
(在这种情况下不起作用)。
如果您尝试向任何类型分配任何类型,是否有一种方法可以要求显式定义任何类型?
理想情况下,您应该避免 any
。 any
根据定义可分配给任何事物和任何事物。就是不安全,还有传播的不幸习性。
您可以使用更安全的 unknown
类型。这与 any
相似,因为您可以为其分配任何内容,并且表示您没有明确定义类型的数据。与 any
不同,但是如果没有类型断言或类型保护,您将无法对它做任何事情。
其他启用 tslint no-any
以阻止所有人使用 any
并注意预定义功能的功能,例如 JSON.parse
可能仍会潜入 any
偶尔。
目前我们正在将我们的代码库迁移到打字稿,我们有很多地方可以使用任何类型。所以我试图强制执行显式设置变量。
这是示例片段。
const a: string = 'h';
const b: any = 4;
const message = a || b;
// Here I would like to get warning that I am assigning any to the message,
// so I would have to write const message: any = a || b;
function say(x: string) {
console.log(x);
}
say(message);
我知道 tslint 规则 typedef
(它要求对所有变量进行 typedef,而不仅仅是在任何情况下),还有 no-unsafe-any
(在这种情况下不起作用)。
如果您尝试向任何类型分配任何类型,是否有一种方法可以要求显式定义任何类型?
理想情况下,您应该避免 any
。 any
根据定义可分配给任何事物和任何事物。就是不安全,还有传播的不幸习性。
您可以使用更安全的 unknown
类型。这与 any
相似,因为您可以为其分配任何内容,并且表示您没有明确定义类型的数据。与 any
不同,但是如果没有类型断言或类型保护,您将无法对它做任何事情。
其他启用 tslint no-any
以阻止所有人使用 any
并注意预定义功能的功能,例如 JSON.parse
可能仍会潜入 any
偶尔。