Javascript 如何为类创建新对象而不使用其模块名?

Javascript 如何为类创建新对象而不使用其模块名?,javascript,typescript,Javascript,Typescript,我有一个如下所示的类,我在一个名为File1的单独文件中有这个类 module test { export class myClass{ constructor(MyName: any) { } } } 在另一个名为File2的文件中,我正在为上面的类创建对象,如下所示 module test { class myClass2{ var object = new myClass("name"); } } 如果将

我有一个如下所示的类,我在一个名为File1的单独文件中有这个类

module test {
    export class myClass{
        constructor(MyName: any) {
        }

    }
}
在另一个名为File2的文件中,我正在为上面的类创建对象,如下所示

module test {
    class myClass2{
        var object = new myClass("name");
    }
}
如果将上述对象创建类型脚本代码转换为javascript代码,则如下所示

var object = new test.myClass("name");
但实际上我需要它在js中看起来像这样

var object = new myClass("name");
谁能帮我做这个吗?

给你:

module test {
    export class myClass{
        constructor(MyName: any) {
        }
    }
}

module test {
    var myClass = test.myClass;
    var object = new myClass("name");    
}
生成的js:

var myClass = test.myClass;
var object = new myClass("name");

更新:如果你不想看到任何
测试。
在你的js中,不要将类放在模块中,即:

class myClass{
    constructor(MyName: any) {
    }
}


module test {   
    var object = new myClass("name");    
}
更新2:由于要使用typescript中的现有Js,需要使用环境声明,即
声明

declare class myClass{
    constructor(MyName: any);
}


module test {   
    var object = new myClass("name");    
}

我不想在我的.jsp中看到任何test.myClass为什么不呢?为什么你这么在意编译后的JS是什么样子?这是一个很大的代码味道,可能需要一些解释。我在其他一些“exsisting.js”文件中已经有了“myClass()”函数,所以我希望我编译的.js使用“exsisting.js”中的“myClass()”函数。将现有的.js转换为.ts太复杂了,那么为什么不将整个文件转换为.ts呢。