再帰関数とは自分を呼び出してループする関数の事でしょうか?

function myChange() {
    setTimeout(myChange, 5000); 
    let iterative = ()=> {
    iterative = setTimeout(myChange , 5000); 
}

______

ありがとうございます。

初心者には難しくてよくわかりませんが、
コールスタックとは下記の情報を見ると、 処理中のデータを一時的にメインメモリーの一部領域に退避させること
と考えてよいのでしょうか?

>>>
スタック [2] 【stack】
コンピューターで処理中のデータを一時的に退避させること。また,そのための記憶領域やデータ構造。後に格納したデータを先に取り出す。 → 後入先出法

コールスタック (Call Stack)は、プログラムに実行中にサブルーチンに関する情報を格納するスタックである。
実行中のサブルーチンとは、呼び出されたが処理を完了していないサブルーチンを意味する。

私のソースは、定義した自分自身をループはしているが、それが起きないので再帰関数と言えないという事でしょうか?
するとコールスタックが起こるか起こらないかはどう判断できるのでしょうか?