打字稿错误?还是打字稿检查不完美?

时间:2019-01-16 04:58:31

标签: javascript typescript

我最近开始写打字稿,但是有多年使用JS的经验。


示例1

然后在开发过程中我发现了

const A : B = class B {}

以上将引发“不能罚款名字'B'”的警告。

但是,不会。

class B {}

const A : B = B ;

示例2

另一个例子是

class B {}

const A : B = B ;

const C : A = A ;

这将引发“无法罚款名字'A'”的警告


tsc检查的结果似乎只能识别从“类”开始的任何内容。

从JS角度看,没有什么错。即使全部编译也可以。...

所以我的问题是,我认为这仅仅是对tsc的检查还不够好...。但是,如果我绕过它,将失去类型检查的含义,因此我只能妥协我的写作风格,可能需要放下它。

如果我错了,可以给我一些建议吗?还是有其他错误原因?

1 个答案:

答案 0 :(得分:3)

必须先定义一个类,然后才能将其用作类型。

此外,在您的第三个示例中,您尝试使用常量作为类型。这将不起作用,因为A没有类定义,因此无法声明为类型。阅读有关类和类型定义的Typescripts文档,以获取更详细的示例。