TypeScript中函数参数的类型推断

2019-04-292321次阅读TypeScript

如果你有一个含有很多参数或者相同类型参数的函数,那么你可能需要考虑使用对象的形式来替代这些函数参数:

如下一个函数:

function foo(flagA: boolean, flagB: boolean) {
  // 函数主体
}

像这样的函数,你可能会很容易错误的调用它,如 foo(flagB, flagA),并且你并不会从编译器得到想要的帮助。

你可以使用接收一个对象参数的形式:

function foo(
  config: {
    flagA: boolean;
    flagB: boolean;
  }
) {
  const { flagA, flagB } = config;
}

现在,函数将会被 foo({ flagA, flagB }) 的形式调用,这样有利于发现错误及代码审查。

注意:如果你的函数足够简单,并且你不希望增加代码,忽略这个建议。

上一篇: TypeScript中对象字面量的类型推断  下一篇: TypeScript中Supplied parameters do not match any signature的错误  

TypeScript中函数参数的类型推断相关文章