当前位置: 首页 > 知识库问答 >
问题:

前端 - `cells: Cell<Cell.Properties>[]`,请问下,我直接用:`cells: Cell[]` 会如何?为何一定要用 泛型:<Cell.Properties>?

梁德馨
2023-05-06

我看到一个ts代码:

export const cellsToJson = (cells: Cell<Cell.Properties>[]) => {...}

cells: Cell<Cell.Properties>[],请问下,我直接用:cells: Cell[] 会如何?为何一定要用 泛型:<Cell.Properties>?

共有1个答案

彭仲卿
2023-05-06

Cell<Cell.Properties>[] 是表示数组里每个元素都是由 Cell 类型组成,而且每个 Cell 都有类型 Cell.Properties。这样可以保证数组里的每个元素都有相同的属性类型,而且不会出现类型不一样的问题。

 类似资料:
  • 有看到过定义比较复杂的泛型类型: 请问下,为何需要定义这么多或的Type呢? 为何不直接定义: 为何需要把这些风马牛不相及的类型(T, Promise, Record)组在一起?

  • 在使用namespace的时候, 我们是可以导出namespace: 在使用namespace内的内容时候,只能引入namespace,然后进行MySpace.Foo(这样写就很繁杂): 请问如何可以直接使用:Foo呢? 比如:

  • 考虑一个具有的API,如下所示: 很简单,只有页面大小和跳过计数属性。 此外,现在我还有一些类,它们也包含但未分页。 在我的测试中,我希望他们都能实现一个接口,这样我就可以用一些更基本的测试来生成一个通用的基本测试类。为此,我添加了我认为会起作用的内容: 我将PagedResults更改为: 错误 但现在编译器抱怨PagedResultBase继承的所有地方的使用情况(?)从。 但是,如果我将接口

  • 我试图实现一个接受泛型参数的函数定义,只要它扩展了另一个特定的泛型类型。简言之参数A必须扩展参数B,其中A和B都是泛型的。 下面是我的示例 用法示例如下 一些封闭的班级 和函数调用 我不想在抽象类声明中定义E,因为T已经在那里定义了。 我也试着做了以下几点: 将myList定义为接受扩展T的键 将E定义为T类型(无法找到如何指定它在函数中扩展T 但它从来都不起作用。有没有办法做到这一点?我在Sta

  • 为泛型定义要求 如类型约束中描述的一样, 类型约束允许你在泛型函数或泛型类型相关的类型形式参数上定义要求. 类型约束在为关联类型定义要求时也很有用.通过定义一个泛型Where子句来实现. 泛型Where子句让你能够要求一个关联类型必须遵循指定的协议, 或者指定的类型形式参数和关联类型必须相同. 泛型Where子句以Where关键字开头, 后面关联类型的约束或类型和关联类型一致的关系. 泛型Wher

  • 我在我的一个实用程序类中有一个方法,它接受一个集合和一个类对象,并返回一个Iterable实例,该实例可以遍历作为指定类实例的集合的所有成员。其签名为: 这对于大多数用例都非常有效,但现在我需要将其与泛型类