showTimeに()を付けない理由について詳しく教えて下さい

()をつけるとその関数が実行されてしまうからです。
2020年6月23日
ユーザー

setInterval(showTime, 1000);
=>1秒ごとに現在日時が繰り返される
setInterval(showTime(), 1000);
=>現在日時が1回だけ表示される
のような違いを確認できました。
しかし、解説を聞いても何故こうなるかが理解できなかったので詳細伺いたいです。

--------解説---------------------------------------------------------------------------------------------------------
0:29
ここで注意が必要なのは showTime のうしろに () は付けないという点です。
0:33
() を付けてしまうと、この関数を実行したときに返ってくる値を setInterval() に渡すことになるので、今回だとこちらの関数には返り値がないので、その場合 undefined を渡すことになって意味が異なってきます。
----------------------------------------------------------------------------------------------------------------------


以前質問させていただいた際に「そういう仕様だから」という回答をいただき不明点が解消せずに終わってしまいました。
大変申し訳ございませんが「何故こうなるか」について明確に回答いただけますでしょうか。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(24)