【发布时间】:2021-03-30 04:02:02
【问题描述】:
我有一个如下所示的 TypeScript 对象:
class User {
id: string = "";
location: string = "";
displayName: string = "";
otherAttribute: string = "";
}
如何创建一个用户类型的对象,只包含我想要的字段?
例如,我希望能够创建一个用户对象,它只包含 id 和 displayName,但没有 location 和 otherAttribute 属性。我需要创建一个没有不需要的属性的新对象来使用 DynamoDB DataMapper,它是一个与 DynamoDB 接口并使用类属性动态映射到 DynamoDB 表属性的 ORM 库。这在使用纯 JavaScript 之前运行良好,因为我没有在我的 JavaScript User 类中声明任何属性,但现在需要为 TypeScript 声明。有没有办法解决这个问题?
【问题讨论】:
-
你的界面在哪里?
-
为什么不在 location 和 otherAttribute 字段中创建一个具有空值的对象,然后使用 delete 将它们删除?
-
这能回答你的问题吗? Optional property class in typescript
-
@RandyCasburn 不完全是因为可选与否,创建对象时,该对象的属性仍然存在。
-
@RandyCasburn 与其说是“逆流而上”,不如说是试图找到解决实际问题的方法。我使用的是专为 JavaScript 而不是 TypeScript 设计的库 (AWS DynamoDB DataMapper)。
标签: javascript typescript amazon-dynamodb