Typescript 如何为带有可选参数的函数编写类型定义?

Typescript 如何为带有可选参数的函数编写类型定义?,typescript,Typescript,尝试为写入类型定义以修复以下错误 找不到模块“github slugger”的声明文件。 “/Users/sunknudsen/Sites/sunknudsen/sunknudsen网站/node_modules/github slugger/index.js” 隐式具有“any”类型。尝试npm安装 @键入/github slugger(如果存在),或添加新声明(.d.ts) 包含声明模块'github slugger'的文件TS7016 我只需要介绍一下slug功能 /** *生成一个独特的

尝试为写入类型定义以修复以下错误

找不到模块“github slugger”的声明文件。 “/Users/sunknudsen/Sites/sunknudsen/sunknudsen网站/node_modules/github slugger/index.js” 隐式具有“any”类型。尝试
npm安装
@键入/github slugger
(如果存在),或添加新声明(.d.ts) 包含
声明模块'github slugger'的文件TS7016

我只需要介绍一下
slug
功能

/**
*生成一个独特的slug。
*@param{string}要slagify的文本的值字符串
*@param{boolean}[false]保留当前大小写,否则全部小写
*@return{string}一个唯一的段塞字符串
*/
BananaSlug.prototype.slug=函数(值,维护案例){
var self=这个
var slug=SLUGER(值,maintainCase==true)
var originalSlug=段塞
while(own.call(self.events,slug)){
自身事件[原始事件]++
段塞=初始段塞+'-'+自出现[初始段塞]
}
自出现次数[slug]=0
回流段塞
}
这就是我到目前为止所做的(有效)

声明模块“github slugger”{
导出函数段塞(字符串):字符串
导出函数段塞(字符串,布尔值):字符串
}
这是处理可选参数的正确方法吗?

您应该使用以下方法:

declare module "github-slugger" {
  function slug(string: string, maintainCase?: boolean): string
}
请注意,
函数slug(string,boolean):string
函数slug(string:any,boolean:any):string
相同。在Typescript中,需要指定参数名称


有关更多信息,请参阅。

谢谢Cherryblosson。没有意识到在
d.ts
中写入类型定义与在
ts
文件中写入类型定义基本相同。仅供参考,提交了一个编辑,用
修复打字错误。您可以使用较小的Typescript fork