@typescript-eslint/prefer-function-type
强制使用函数类型而不是带有签名的对象类型。
规则配置
// code-linter.json5
{
"rules": {
"@typescript-eslint/prefer-function-type": "error"
}
}
选项
该规则无需配置额外选项。
正例
export function foo(example: () => number): number {
return example();
}
// returns the function itself, not the `this` argument.
export type ReturnsSelf = (arg: string) => ReturnsSelf;
export interface Foo {
bar: string;
}
反例
interface GeneratedTypeLiteralInterface {
(): number;
}
export function foo(example: GeneratedTypeLiteralInterface): number {
return example();
}
export interface Foo {
(bar: string): this;
}
规则集
plugin:@typescript-eslint/all
Code Linter代码检查规则的配置指导请参考Code Linter代码检查。