noop
是 lodash 中的一个工具函数,英文全称是 "no operation",意思是“不执行任何操作”的函数。
它的定义非常简单:
function noop() {}
也就是说,它是一个空函数,什么也不做,不返回值,不执行逻辑。
用途:
1、占位函数(默认参数)
当你需要传入一个函数,但有时候你又不想真的做什么操作时,可以用 noop
占位:
function doSomething(callback = noop) {
// 安心调用 callback,不怕报错
callback()
}
如果不传 callback,它就用 noop
,不会抛出 “callback is not a function” 的错误。
2、避免 if
判断
// 不用写这样
if (callback) {
callback()
}
// 用 noop 之后可以写成这样
(callback || noop)()
3、用于测试或临时代码结构占位
比如在写组件或逻辑时,某个函数暂时还没实现,可以先用 noop
占住位置:
const handlers = {
onClick: noop,
onChange: noop,
}
总结一句话:
noop
是一个永远什么都不干的函数,常用于“我现在需要一个函数,但这个函数暂时不需要真的干活”的场景。
如果你用的是 TypeScript,它的类型大概是这样:
declare function noop(...args: any[]): void;