Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 在TypeScript中声明类的正确方法是什么?_Class_Typescript - Fatal编程技术网

Class 在TypeScript中声明类的正确方法是什么?

Class 在TypeScript中声明类的正确方法是什么?,class,typescript,Class,Typescript,不管我怎么做,我总是得到“error TS1046:'declare'修饰符,顶层元素需要。”定义以下类的正确方法是什么: declare class File { name: string; isOpenEnabled() { return false; } } TypeScript操场是学习这类知识的好地方: 寻找“类”演示 具体来说,这段代码似乎工作得很好 export module SomeNamespace { class Fi

不管我怎么做,我总是得到“error TS1046:'declare'修饰符,顶层元素需要。”定义以下类的正确方法是什么:

declare class File {

    name: string;

    isOpenEnabled() {
        return false;
    }
}

TypeScript操场是学习这类知识的好地方:

寻找“类”演示

具体来说,这段代码似乎工作得很好

export module SomeNamespace { 
    class File {

        name: string;

        isOpenEnabled() {
            return false;
        }
    }
}

如果没有模块位,编译器会抱怨文件已经声明。。几乎像是内置式的

只需省略“declare”关键字:

class MyFile {

    name: string;

    isOpenEnabled() {
        return false;
    }
}

declare
类似于C语言中的
extern
——它用于声明事物,但不定义它们。

对我来说失败了。我在WebStorm中运行它,但它只调用编译器。我需要的编译器最近有变化吗?我不知道它是否失败。它转换成javascript,但我无法测试它是否是有效的javascript,因为它什么都不做。看起来问题可能是WebStorm。我有一个问题要问他们,当我得到答案时会更新。感谢您的帮助-这让我指向WebStorm。游乐场抱怨使用此代码“重复标识符'File'”。
File
是DOM类型,因此它不是命名自己类的好选择。替换为您选择的可用名称。