我更喜欢使用表格:
const myFunc = (): void => {}
而不是:
function myFunc(): void {}
但是,对于TSLint,它似乎想要看到:
interface MyFunc { (): void }
const myFunc: MyFunc = (): void => {}
我发现箭头功能的额外接口超重复。是否可以为linting配置文件保留所有类型定义要求,但是从我的箭头函数中删除此要求,而不会丢失对其他变量的要求?
答案 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"; };