TypeScript Date VS Moment VS Object not typesafe

时间:2017-09-21 09:50:31

标签: json date typescript fullcalendar

我知道......这是一个古怪而烦人的问题。并且有几个问题在一个。但它们属于一起,因为这是实践中的一个问题。

我没有找到对此问题的可接受的答案,需要更多解释:

州:

在TypeScript中具有Date属性的类。

export class A 
{
  date: Date;
}

从DB-Rest发出一个JSON {"date": "123456789"},其中包含response.json()对象。

...
let a:A = new A();
...
a = response.json();

预计到目前为止。

令人毛骨悚然的行为,我找不到一个好的和实用的工作流程:

a.date.toISOString() //fail: .toISOString not function (or any other Date functions)

好的 - 它只是一个空对象。没有Date原型......需要创建新的Date()......

问题在这里:"类型安全"来自TypeScript吗?

也可以在FullCalendar事件处理中使用,例如

a.date = fullCalendarEventDate; //works
(aka. Moment which dont have a constructor at all?? Does it extend Date?)

由于性能原因,我最终在这里结束了:

让d:Date = new Date(); ... d.setTime(a.date); //失败:日期不是数字

最后我有这个:

let dateTmp:Date = new Date(a["date"]);
dateTmp.toISOString();

对于这个问题,这不是最有效和最实用的解决方案!

所以你们都知道这个问题,你可能比我更好的Web-Dev。

请告诉我你对这些观点的诀窍:

  • JSON DateSrtings to fullCalender并返回TypeScript中的JSON。
  • 如何在TypeScript中实现真正的类型安全性。 (例如,创建数组和日期的VO.constructor可能?)
  • 为什么我不能像其他课一样使用这些Moment对象? (新时刻())

0 个答案:

没有答案