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
Javascript TypeScript和类似JS的单例模式_Javascript_Typescript - Fatal编程技术网

Javascript TypeScript和类似JS的单例模式

Javascript TypeScript和类似JS的单例模式,javascript,typescript,Javascript,Typescript,我需要在TypeScript中实现单例模式。我已经找到了一个解决办法,但对我来说,这似乎是一种过火的行为。毕竟,JavaScript在创建单例方面是非常棒的 有没有可能在打字脚本中写下这样的东西(不会出错) 目前,它正确地生成了我期望的输出: // Module var Helpers; (function (Helpers) { Helpers.Singleton = {}; })(Helpers || (Helpers = {})); 但为什么我的VisualStudio中的Typ

我需要在TypeScript中实现单例模式。我已经找到了一个解决办法,但对我来说,这似乎是一种过火的行为。毕竟,JavaScript在创建单例方面是非常棒的

有没有可能在打字脚本中写下这样的东西(不会出错)

目前,它正确地生成了我期望的输出:

// Module
var Helpers;
(function (Helpers) {
    Helpers.Singleton = {};
})(Helpers || (Helpers = {}));
但为什么我的VisualStudio中的TypeScript编译器会对此抱怨(它说它“在第2行”找不到符号“Helpers”。)?可以用另一种方式写吗

module Helpers {
    export module Singleton {
        export var etc = 4;
        export function printSomething() {
            // etc
        }
    }
}

// later...
Helpers.Singleton.printSomething();

为什么仅仅导出单例模块还不够?但是它的所有属性和功能呢?谢谢
module Helpers {
    export module Singleton {
        export var etc = 4;
        export function printSomething() {
            // etc
        }
    }
}

// later...
Helpers.Singleton.printSomething();