创建空对象是 JavaScript 世界中的一种常见做法,因为在生成它们时存在未知的属性值。 您可以在程序运行中创建对象而不会出现任何问题。 在 TypeScript 中,这可能会有所不同,因为存在基于 tsconfig.json 文件中定义的 TypeScript 配置的依赖关系。 这些配置可以使编写代码变得更加复杂,或者可以像使用纯 JavaScript 一样灵活。
根据您编写代码的方式,该对象可以在不同的范围内使用。 一个例子是当一个对象被定义在一个具有未知属性值的类中,并在触发类的内部方法时更新。让我们看看在 TypeScript 中生成空对象的不同方法。
方法一:创建新的类型示例
为类型化变量生成空对象的一种方法是创建实现类型定义的类的实例。 通过这种方式,新类被视为具有与类型变量相同的形状。
这种方法在你定义类型实例的同时,还允许你加入更多的字段属性,比较灵活。
方法二: 使用类型断定
TypeScript 可以推断变量应该是什么,数字、字符串、日期或自定义对象。 当使用 as 语法时,我们告诉 TypeScript 我们知道变量的类型,而不管 TypeScript 认为变量的类型是什么。
方法三:定义对象的范型类型
您使用过范型么?就像下面这个函数:
这个 T 被称为泛型类型。 在前面的示例中,如果在触发 generateRandomArray 函数时提供了类型,我们将知道我们生成的数组的类型。 例如,我想生成一个数字数组,它将如下所示:
但如果范型类型和参数类型不一致,就会报错:
它也允许我们生成空数组:
所以类似地,我们也可以使用这种方式来生成空对象:
其实这里也可以理解为强制类型转换!
感谢阅读!