以下是我想做的一个简单示例:
export class UserInfoPrivate {
constructor(
public repEmail: string,
public repPhone: string,
public agreedToTnC: boolean
) { }
}
export class UserInfo {
constructor(
public $uid: string,
public orgApproved: false,
public private: UserInfoPrivate, // <-- private is a reserved word
public open: UserInfoOpen,
) { }
}
由于datebase是一个NoSQL(Firebase)并且返回简单的JSON结构对象,并且我在一个名为“private”的用户下面有一个节点,我想直接将我的类映射到它而不需要额外的解析。有没有办法在类定义中使用保留字,例如“私有”,还是必须更改节点?
到目前为止,我的研究似乎没有,但我很难接受这种情况是不可能的。
答案 0 :(得分:-1)
您始终可以将属性名称(在类或对象文字中)放在引号中 - 对于那些无效的标识符名称,您需要这样做。您可以使用bracket notation然后访问它们。
export class UserInfo {
public "private": UserInfoPrivate
constructor(
public $uid: string,
public orgApproved: false,
privateParam: UserInfoPrivate,
public open: UserInfoOpen,
) {
this.private = privateParam;
}
}
(我希望看起来像有效的Typescript不仅仅是我的眼睛,还有编译器)