1

我有两个接口如下:

interface PublicUser {
    userId? : string
    name? : string
}

interface User extends PublicUser{
    email? : string
    phonenumber? : string
}

所有数据都作为用户存储在数据库中。我想要做的是从用户数据中删除私有属性。所以我这样做如下:

const user = serverData as User;

let visibleUser : PublicUser = PublicUser()
if(user.userId)  visibleUser.userId = user.userId
if(user.name)  visibleUser.name = user.name

sendPublicProfileToAnyone(visibleUser);

我不认为这是一个好的解决方案。因为如果有另一个公共财产,比如年龄。必须有一种方法,我只能从完整数据集中获取所有 PublicUser 属性。

4

0 回答 0