【问题标题】:TypeScript interface property @versionTypeScript 接口属性 @version
【发布时间】:2019-04-25 08:22:21
【问题描述】:

我正在使用 typescript 编写应用程序,但遇到了对象类型的问题

我需要像这样创建一个logstash对象

{
  "message"    => "hello world",
  "@version"   => "1",
  "@timestamp" => "2014-04-22T23:03:14.111Z",
  "type"       => "stdin",
  "host"       => "hello.local"
}

但我不明白如何为带有 @ 符号(@version、@timestamp)的属性创建接口或类型。

例如:

const obj: ILogstashObjects = {
  "@version": "1",
  "@timestamp": "2014-04-22T23:03:14.111Z",
}

ILogstashObjects 应该是什么样子?

【问题讨论】:

    标签: typescript types interface


    【解决方案1】:

    您可以在界面中使用带引号的标识符:

    interface ILogstashObjects {
        "@version": string,
        "@timestamp": string,  
    }
    const obj: ILogstashObjects = {
        "@version": "1",
        "@timestamp": "2014-04-22T23:03:14.111Z",
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2020-02-21
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      相关资源
      最近更新 更多