打字稿索引类型和长度验证

时间:2020-09-14 12:18:46

标签: typescript

1 个答案:

答案 0 :(得分:1)

df.dataCorrelation$Year <- format(as.Date(df.dataCorrelation$date), '%Y') plotCorr <- plot_ly(data = df.dataCorrelation, x = ~prod1, y = ~prod2, color = ~Year, colors = "Greens", marker = list(size = 10, line = list(color = "black", width = 2))) %>% add_trace(data = fitData, x = ~prod1, y = ~fitted, mode = "lines", type = "scatter", line = list(color = "#007d3c", width = 3)) 在您的情况下只不过是FolderDictionary,在此记录中,键可以是任何字符串。

因此,您可以在Record<string, Folder>上调用length,而不仅仅是长度,任何字符串都不会产生编译错误。

在第二种情况下,FolderDictionary没有指定任何类型,因此ts将其推断为特定类型,即const x = {}。 从类型上,您可以知道该类型没有{}键。

但是,如果您显式添加length之类的类型,则const x: Record: <string, string> = {}不会给出编译时错误。

但是请注意,在这两种情况下,您都将获得y.length结果,因为该键不存在。