Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 是否可以在typescript方法中创建接口?_Node.js_Typescript_Oop_Interface - Fatal编程技术网

Node.js 是否可以在typescript方法中创建接口?

Node.js 是否可以在typescript方法中创建接口?,node.js,typescript,oop,interface,Node.js,Typescript,Oop,Interface,小调:可能看起来很相似,但它问的是与这个问题相反的问题 我有一个typescript方法,它使用一个options参数,可以很好地工作和编译: async addKickingRule(选项:KickingRuleOptions={ 时间:60*分钟, 特权:所有的特权 }) { ... } 它使用在别处定义的接口: 接口KickingRuleOptions{ 时间:号码,, 特权:特权[], 频道?:字符串, userID?:字符串, IP地址?:字符串 } 同样,这很好用。但是,我觉得

小调:可能看起来很相似,但它问的是与这个问题相反的问题

我有一个typescript方法,它使用一个
options
参数,可以很好地工作和编译:

async addKickingRule(选项:KickingRuleOptions={
时间:60*分钟,
特权:所有的特权
}) {
...
}
它使用在别处定义的接口:


接口KickingRuleOptions{
时间:号码,,
特权:特权[],
频道?:字符串,
userID?:字符串,
IP地址?:字符串
}
同样,这很好用。但是,我觉得如果在方法体中定义接口,对我的同事来说会更容易


我可以在typescript方法中使用
选项
对象并在方法体中定义选项界面吗?

您可以执行以下操作:

async addKickingRule(options: {
  time: number,
  privileges: Privileges[],
  channel?: string,
  userID?: string,
  ipAddress?: string
} = {
  time: 60 * MINUTES,
  privileges: ALL_PRIVILEGES
}) {
  ...
}

您可以这样做:

async addKickingRule(options: {
  time: number,
  privileges: Privileges[],
  channel?: string,
  userID?: string,
  ipAddress?: string
} = {
  time: 60 * MINUTES,
  privileges: ALL_PRIVILEGES
}) {
  ...
}