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
相关产品推荐
相关产品推荐

