【问题标题】:What is difference between string[] & [string,string,string]string[] 和 [string,string,string] 有什么区别
【发布时间】:2019-06-04 17:12:45
【问题描述】:

我需要 d3 语言环境。

timeFormatDefaultLocale({
  "dateTime": "%A, der %e. %B %Y, %X",
  "date": "%d.%m.%Y",
  "time": "%H:%M:%S",
  "periods": ["AM", "PM"],
  "days": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
  "shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
  "months": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
  "shortMonths": ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
})

因此,如果我进行以下更改:

"shortDays": moment.weekdaysShort(),

我收到此错误:

Type 'string[]' is not assignable to type '[string, string, string, string, string, string, string]'.
      Property '0' is missing in type 'string[]'.

任何帮助。为什么会出现这个错误?

【问题讨论】:

标签: javascript string typescript d3.js


【解决方案1】:

元组类型 ([string, string, ...]) 具有固定长度,而 string[] 可以具有任意长度。换句话说:它需要 7 个工作日字符串,但是您传递的字符串数组长度未知(类型系统不知道它的长度是 7)。

与每个类型错误一样,您可以使用 any 绕过类型检查:

 moment.weekdaysShort() as any

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 2016-11-09
    • 2021-12-21
    • 2012-05-21
    • 2011-10-25
    • 2019-02-05
    • 2013-01-19
    相关资源
    最近更新 更多