【问题标题】:Remove variable-declaration just for arrow functions?仅为箭头函数删除变量声明?
【发布时间】:2018-08-07 20:20:37
【问题描述】:

我更喜欢使用表格:

const myFunc = (): void => {}

代替:

function myFunc(): void {}

但是,有了 TSLint,它似乎想看看:

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

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

【问题讨论】:

  • 有了 TSLint,它似乎想看 - 它没有。如果您有 TSLint 错误,请指定它。

标签: typescript tslint


【解决方案1】:

您可以在 typedef 规则中为 variable-declaration 禁用 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"; };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多