Javascript 在TypeScript中使用Datejs
您如何告诉TypeScript使用Datejs作为Javascript 在TypeScript中使用Datejs,javascript,typescript,Javascript,Typescript,您如何告诉TypeScript使用Datejs作为Date而不是内置的Date对象 我尝试向js文件添加一个引用,并将日期声明为typeany,即declare var Date:any但这并没有修复错误 编辑: 我发现了这个问题,但它讨论了指定要包含的方法。我想知道是否有可能让它保持开放式,只需关闭日期的类型检查 没有办法获取一个类型为(Date在本例中)的现有变量并将其转换为any 最好的选择是使用datejs中的新方法扩展Date接口。希望在某个时候有人会这样做,并上传到 您可以采取两种变
Date
而不是内置的Date
对象
我尝试向js文件添加一个引用,并将日期声明为typeany
,即declare var Date:any代码>但这并没有修复错误
编辑:
我发现了这个问题,但它讨论了指定要包含的方法。我想知道是否有可能让它保持开放式,只需关闭日期的类型检查 没有办法获取一个类型为(Date
在本例中)的现有变量并将其转换为any
最好的选择是使用datejs中的新方法扩展Date
接口。希望在某个时候有人会这样做,并上传到
您可以采取两种变通方法:
var Date2 = <any>Date;
// Use Date2 anywhere you would use Date
var Date2=日期;
//在任何您想使用Date的地方使用Date2
另一种解决方法是只修改lib.d.ts
,将Date
声明为any
。显然,这在任何地方都会有副作用,但会起作用。没有一种方法可以将一个类型为(Date
在本例中)的现有变量转换为any
最好的选择是使用datejs中的新方法扩展Date
接口。希望在某个时候有人会这样做,并上传到
您可以采取两种变通方法:
var Date2 = <any>Date;
// Use Date2 anywhere you would use Date
var Date2=日期;
//在任何您想使用Date的地方使用Date2
另一种解决方法是只修改lib.d.ts
,将Date
声明为any
。显然,这会在任何地方产生副作用,但会起作用。要开始延长本机日期,它将如下所示:
interface DateIs {
monday(): bool;
// ctd...
january(): bool;
// ctd...
weekday(): bool;
}
interface DateAdd {
days(): Date;
months(): Date;
// ctd...
}
interface Date {
parse(date: string): Date;
today(): Date;
next(): Date;
last(): Date;
monday(): Date;
// ctd...
january(): Date;
// ctd...
addDays(days: number): Date;
addMonths(months: number): Date;
add(quantity: number): DateAdd;
is(): DateIs;
}
在这个示例中,您可以继续添加所使用的函数,我已经将一个月作为一个示例,这样您就可以填写二月()以及您认为合适的简()的简短变体 要开始扩展本机日期,应该如下所示:
interface DateIs {
monday(): bool;
// ctd...
january(): bool;
// ctd...
weekday(): bool;
}
interface DateAdd {
days(): Date;
months(): Date;
// ctd...
}
interface Date {
parse(date: string): Date;
today(): Date;
next(): Date;
last(): Date;
monday(): Date;
// ctd...
january(): Date;
// ctd...
addDays(days: number): Date;
addMonths(months: number): Date;
add(quantity: number): DateAdd;
is(): DateIs;
}
在这个示例中,您可以继续添加所使用的函数,我已经将一个月作为一个示例,这样您就可以填写二月()以及您认为合适的简()的简短变体 从nuget安装“datejs.typescript.definitelytyped”包
添加对类型文件的引用。在全局脚本文件中声明全局变量,或在类中声明私有静态成员变量或仅声明局部变量,如下面的代码所示进行赋值
/// <reference path="typings/datejs/datejs.d.ts" />
var DateJs: IDateJSStatic = <any>Date;
//
var DateJs:idatejstatic=Date;
我目前正在编写SPA应用程序,因此我使用了一个全局变量,如代码示例所示。从nuget安装“datejs.typescript.definitelytyped”包
添加对类型文件的引用。在全局脚本文件中声明全局变量,或在类中声明私有静态成员变量或仅声明局部变量,如下面的代码所示进行赋值
/// <reference path="typings/datejs/datejs.d.ts" />
var DateJs: IDateJSStatic = <any>Date;
//
var DateJs:idatejstatic=Date;
我目前正在编写SPA应用程序,因此我使用了一个全局变量,如代码示例所示。Hmmm,我将尝试Date2
方法。我曾试图只为开始使用所需的方法编写一个接口声明,但我认为我做得不对。你知道接口声明是什么样子吗?很可能你遇到了一个bug,lib.d.ts中声明的东西的扩展在VisualStudio中不能很好地工作。这个接口看起来就像一个普通的接口声明。您需要扩展日期还是简单地扩展日期?此外,var-Date2
也非常有效<代码>接口日期{gettimesincedayed():number;}
它在DefinitelyTyped:Hmmm上,我将尝试Date2
方法。我曾试图只为开始使用所需的方法编写一个接口声明,但我认为我做得不对。你知道接口声明是什么样子吗?很可能你遇到了一个bug,lib.d.ts中声明的东西的扩展在VisualStudio中不能很好地工作。这个接口看起来就像一个普通的接口声明。您需要扩展日期还是简单地扩展日期?此外,var-Date2
也非常有效<代码>接口日期{GetTimeSinceDate():number;}它在DefiniteTyped上: