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