JavaScript 空の関数がよくない理由

関数は作成するが、その関数内で何もしたくない場合に空の関数を渡すことがあります。

しかし、ESLintでも no-empty-function というこれをさせないルールが存在します。

特にアロー関数の場合に誤読の可能性があるためとされています。

list.map(() => {})
list.map(() => ({}))

上が空の関数ですが、下は空のオブジェクトを返す関数です。

かなり間違いが起きそうに思えます。

空の関数を使う場合はコメントなどで補足すると良いとされています。

list.map(() => { /** 何もしない */ })