[英]How to write function type definitions for anonymous functions in typescript?
[英]How to write type definitions for function with optional argument?
尝试为github-slugger编写类型定义以修复以下错误。
找不到模块“github-slugger”的声明文件。 '/Users/sunknudsen/Sites/sunknudsen/sunknudsen-website/node_modules/github-slugger/index.js' 隐含地具有 'any' 类型。 如果存在,请尝试
npm install @types/github-slugger
或添加包含declare module 'github-slugger';
的新声明 (.d.ts) 文件declare module 'github-slugger';
TS7016
我只需要覆盖slug
函数。
/**
* Generate a unique slug.
* @param {string} value String of text to slugify
* @param {boolean} [false] Keep the current case, otherwise make all lowercase
* @return {string} A unique slug string
*/
BananaSlug.prototype.slug = function (value, maintainCase) {
var self = this
var slug = slugger(value, maintainCase === true)
var originalSlug = slug
while (own.call(self.occurrences, slug)) {
self.occurrences[originalSlug]++
slug = originalSlug + '-' + self.occurrences[originalSlug]
}
self.occurrences[slug] = 0
return slug
}
这就是我到目前为止所拥有的(有效)。
declare module "github-slugger" {
export function slug(string): string
export function slug(string, boolean): string
}
这是处理可选参数的正确方法吗?
你应该使用这个:
declare module "github-slugger" {
function slug(string: string, maintainCase?: boolean): string
}
请注意, function slug(string, boolean): string
与function slug(string: any, boolean: any): string
。 在 Typescript 中,需要指定参数名称。
有关更多信息,请参阅有关可选参数和默认参数的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.