You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何为作为参数传入的函数设置默认空函数?

当然可以!直接给回调参数设默认空函数就行

在TypeScript里,你完全可以跳过自定义空函数和空值检查这两步——直接把无操作的空函数作为回调参数的默认值就搞定了。

方式一:内联空函数作为默认值

这是最简洁的写法,直接在参数定义里写空函数:

MyFunction(someVar: string, callback: () => void = () => {}) {
  callback(); // 不管有没有传回调,直接调用就行
}

这样当你调用MyFunction("test")而不传第二个参数时,callback会自动使用这个内联的空函数,调用它也不会产生任何操作,完美符合你的需求。

方式二:复用全局空函数(可读性更好)

如果觉得内联空函数不够直观,或者多个地方都需要用到无操作函数,你可以提前定义一个常量(行业里通常叫noop,是no operation的缩写):

// 定义一次,多处复用
const noop = () => {};

MyFunction(someVar: string, callback: () => void = noop) {
  callback();
}

这种写法可读性更强,别人一看noop就知道这是个啥也不干的函数,也避免了重复定义空函数的问题。

对比你的原实现

原来的代码需要额外定义MyEmptyFunction,还要写if判断是不是null,现在这两种方式都把这些冗余逻辑去掉了,代码更简洁优雅,逻辑也更清晰。

内容的提问来源于stack exchange,提问作者JustLearning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:46:53