【发布时间】:2023-04-02 14:44:01
【问题描述】:
我目前对 Typescript 有更多的了解,到目前为止我真的很喜欢它。最近我想知道“多少”类型声明就足够了。
假设我们想要构建一个对象数组,它非常复杂并且包含更深的嵌套属性。例如,一个对象包含大约 50 个键。所有对象都有相同的结构。
声明该类型是由 Objects 组成的 Array 是否“足够”,还是应该声明一个 Object 的每个不同键值对的类型?
类型推断不起作用,因为数组没有在同一行声明和初始化。
我个人会说第二个想法是无稽之谈,因为它很复杂,但我很想听听社区如何处理这些案例 :-)
我对你的回答感到很兴奋。
【问题讨论】:
-
StackOverflow 可能不是解决此类问题的最佳场所,因为答案大多是固执己见,而且我们没有任何关于您的具体实施的上下文。
-
我不同意这是基于意见的。问题基本上是:“
{ [key: string]: any }[]对对象数组来说是一个足够好的类型吗?”答案很明显是“不”。 -
"一个对象包含大约 50 个键" - 要么所有对象属性都具有相同的类型(您将其用作字典/查找映射),那么您应该正在使用
Record<string, whatever>,或者您有 50 个不同的对象属性,在这种情况下,您需要分解大小,因为没有记录应该有这么多成员。 -
@AlexWayne 的问题是打字稿绑定非常松懈。因此,为什么这是基于意见的。你可以这样做,或者你不能。现在你可以争辩说你应该强烈地输入东西,但你真的不必这样做,打字稿会很好。所以你会得到不同的意见
标签: javascript arrays typescript