我最近开始写打字稿,但是有多年使用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的检查还不够好...。但是,如果我绕过它,将失去类型检查的含义,因此我只能妥协我的写作风格,可能需要放下它。
如果我错了,可以给我一些建议吗?还是有其他错误原因?
答案 0 :(得分:3)
必须先定义一个类,然后才能将其用作类型。
此外,在您的第三个示例中,您尝试使用常量作为类型。这将不起作用,因为A没有类定义,因此无法声明为类型。阅读有关类和类型定义的Typescripts文档,以获取更详细的示例。