根据输入参数返回带有空参数或 1 个参数的函数

时间:2021-06-09 13:13:19

标签: javascript typescript

还有比这更干净的代码吗?

Z 是可以接受 1 个参数或空参数的函数。如果我传入 y,则返回 z(y) 否则运行 z()

  async x (y?: string) {
    if(y) {
      return z(y)
    } else {
      return z()
    }
  }

2 个答案:

答案 0 :(得分:1)

  async x (y?: string) {
      return z(y || undefined);
  }

如果您将 undefined 传递给函数,就好像您根本没有传递任何东西一样。

(我在 Javascript 的上下文中想出了这个答案,不能 100% 确定它完全适用于打字稿,但我不明白为什么不适用)

答案 1 :(得分:0)

async x(y) {
     return z( y ?? undefined)
}

这应该可以完成工作。

相关问题