无论我尝试什么,我都会得到“错误TS1046:'声明'顶级元素所需的修饰符。”定义以下类的正确方法是什么:
declare class File {
name: string;
isOpenEnabled() {
return false;
}
}
答案 0 :(得分:1)
TypeScript Playground是学习此类事情的好地方:
http://www.typescriptlang.org/Playground
寻找“Classes”演示。
具体来说,这段代码似乎运作良好。
export module SomeNamespace {
class File {
name: string;
isOpenEnabled() {
return false;
}
}
}
如果没有模块位,编译器会抱怨已经声明了File ..几乎就像它是一个内置类型。
答案 1 :(得分:1)
只需省略'declare'关键字:
class MyFile {
name: string;
isOpenEnabled() {
return false;
}
}
declare
与C中的extern
类似 - 它用于声明事物但不定义它们。