函数参数

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

如下一个函数:

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

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

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

  1. function foo(
  2. config: {
  3. flagA: boolean;
  4. flagB: boolean;
  5. }
  6. ) {
  7. const { flagA, flagB } = config;
  8. }

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

TIP

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

原文: https://jkchao.github.io/typescript-book-chinese/tips/functionParameters.html