4
我想声明一个名为Date
的类,该类具有Date类型的属性(如在JavaScript Date object的TypeScript接口中,但编译器假定我的属性的类型与我如何区分两者?与接口名称相同的TypeScript类
如果Date接口在模块中,我可以使用模块名来区分,但它似乎在全局命名空间中。我的Date
类是在一个模块内
我想声明一个名为Date
的类,该类具有Date类型的属性(如在JavaScript Date object的TypeScript接口中,但编译器假定我的属性的类型与我如何区分两者?与接口名称相同的TypeScript类
如果Date接口在模块中,我可以使用模块名来区分,但它似乎在全局命名空间中。我的Date
类是在一个模块内
我相信没有特殊的关键字来访问全局命名空间,但下面的作品:
// Create alias (reference) to the global Date object
var OriginalDate = Date;
// Make copy of global Date interface
interface OriginalDate extends Date {}
module Foo {
export class Date {
public d: OriginalDate; // <-- use alias of interface here
constructor() {
this.d = new OriginalDate(2014, 1, 1); // <-- and reference to object here
}
}
}
var bar = new Foo.Date();
alert(bar.d.getFullYear().toString());
参见:https://github.com/Microsoft/TypeScript/blob/master/src/lib/core.d.ts
在过去,我一直叫这样的类“日期时间”来避免这个问题(和可能的混淆)。
你确定这家公司有效吗?在我的TypeScript中,我无法在名称空间名称和我的类之间区分这种情况。 ps。该链接不起作用 – Devid 2017-02-09 10:27:42