У меня есть глобальная переменная Module
, которая содержит группу конструкторов для объектов javascript. В настоящее время я могу использовать их в Javascript так:
var obj1 = new Module.Class1(1,2,3);
var ob2 = new Module.Class2(»test«)
obj1.method1();
obj2.method2();
Я хотел бы представить их в другом пространстве имен NewNamespace
и иметь строго типизированные объявления для методов и конструкторов. Как то так:
interface Class1
{
method1();
}
interface Class2
{
method2();
}
// TODO: how to define constructors for NewNamespace
let obj2 : Class1= new NewNamespace.Class1(1,2,3);
let obj2 : Class2= new NewNamespace.Class1(1,2,3);
obj1.method1();
obj2.method2();
Каков наилучший способ сделать это?