为对象创建接口

问题描述 投票:0回答:1

我有一个将对象作为输入的类构造函数。

我想为该对象创建一个接口

new FirebaseSession({
   database: context.realtimeDB
}),

采用具有某些属性的对象。

属性将在哪里

 interface Options {
    database: admin.database.Database | admin.firestore.Firestore, 
    sessions?: string, 
    reapInterva?: string,
    errorIfSessionNotFound?: any)
  }

但是这些属性应该在对象内部

typescript interface
1个回答
0
投票

好吧,我不知道您在“对象内部”是什么意思,但是我会尝试一些有根据的猜测。

1)您只想在构造函数中设置参数的类型

constructor(arg: Options)

2)您希望属性是私有的或受保护的

您基本上不能在接口上定义私有和受保护的成员,因为接口描述了对象的公共形状。您可以在类上定义它们。即使您能够在界面上定义私有或受保护的属性,如果它们不是公共的,您将如何分配它们呢?您肯定无法执行{ database: context.realtimeDB },因为它要求属性database为公共属性。

3)您已模棱两可地描述了该问题,因此请在描述中进行详细说明。

© www.soinside.com 2019 - 2024. All rights reserved.