为箭头函数删除变量声明?

时间:2018-02-28 03:06:58

标签: typescript tslint

我更喜欢使用表格:

const myFunc = (): void => {}

而不是:

function myFunc(): void {}

但是,对于TSLint,它似乎想要看到:

interface MyFunc { (): void }
const myFunc: MyFunc = (): void => {}

我发现箭头功能的额外接口超重复。是否可以为linting配置文件保留所有类型定义要求,但是从我的箭头函数中删除此要求,而不会丢失对其他变量的要求?

1 个答案:

答案 0 :(得分:0)

您可以在variable-declaration规则中禁用typedef的TSLint规则(请参阅https://palantir.github.io/tslint/rules/typedef/

另一种方法是自己定义通用函数定义,并在需要类型的地方使用它。例如:

type Func<A, B> = (a: A) => B;

let myFunc: Func<void, void> = (): void => {};

let myFunc1: Func<number, string> = (i: number) => { return "a"; };