创建对象的界面

时间:2019-11-23 09:43:38

标签: typescript interface

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

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

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

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

属性应为

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

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

1 个答案:

答案 0 :(得分:0)

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

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

constructor(arg: Options)

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

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

3)您对问题的描述含糊不清,因此请在描述中进行详细说明。