string []和[string,string,string]有什么区别

时间:2019-06-04 17:12:45

标签: javascript string typescript d3.js

我对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[]'.

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

1 个答案:

答案 0 :(得分:0)

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

对于每个类型错误,您都可以使用any来避免类型检查:

 moment.weekdaysShort() as any