javascript - TypeScript 和类 JS 单例模式

标签 javascript typescript

我需要在 TypeScript 中实现单例模式。我找到了解决方案 here但这对我来说似乎有点矫枉过正。毕竟,JavaScript 非常适合创建单例。

是否可以用 TypeScript 编写类似这样的东西(不会出错)?

module Helpers {
    Helpers.Singleton = {};
}

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

// Module
var Helpers;
(function (Helpers) {
    Helpers.Singleton = {};
})(Helpers || (Helpers = {}));

但为什么我的 VisualStudio 中的 TypeScript 编译器会提示这一点(它说它在第 2 行“找不到符号'Helpers'。”!)?有没有可能换一种方式写呢?

Left side shows generated code, right side illustrates the error highlight by VisualStudio

最佳答案

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

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

关于javascript - TypeScript 和类 JS 单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19771474/

相关文章:

javascript - Ajax请求在chrome中滚动到顶部

javascript - OnClick 事件不适用于 Astro 中的 React 组件

VB 中 session 变量的 Javascript 等价物?

javascript - 在搜索类型定义时何时使用环境?

javascript - 在 WebStorm 中编写 TypeScript 时,是否有一个 Action 可以插入 lambda 来匹配当前参数的签名?

javascript - appendChild() 从导入的模板中删除内容

javascript - Accordion 列表高度

javascript - 扩展 Promise 基类类型

javascript - ITHit WebDAV - 安装 Office 时显示 Office 不可用消息

node.js - Karma 测试在 chrome 中失败,但在 phantomjs 中通过