interface属性不能初始化日期值

时间:2017-10-19 01:06:25

标签: javascript typescript

我在接口和类初始化中有以下代码的typescript。日期值无法在界面中初始化,但是我可以初始化为什么?类和接口声明有什么区别吗?如何重写接口初始化代码?

接口初始化如下所示

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-context</artifactId>
    </dependency>

类初始化如下所示

export interface ChatMessage {
  $key? : string;
  email? : string;
  timeSent? : Date = new Date(); //showing error here
}

1 个答案:

答案 0 :(得分:0)

Typescript接口对于描述对象非常有用,但不能编译成javascript代码,因此初始化界面中的任何内容都无法正常工作。

例如,您可以使用接口来确保对象具有某些属性和方法。

export class SecretMessage implements ChatMessage {
  $key: string = '#@(Aad*$*a__adkj32-';
  email: string;
  timesent: Date = new Date();
}

和类型信息

function sendMessage(message: ChatMessage) {
    ...
}