• コールスタックは、実行中の関数と呼び出し元を積んだもので、動くのは一番上の 1 つだけ。
  • return は 1 つ戻り、例外は catch まで巻き戻す。巻き戻す間、throw より後ろの行は飛ばされ、finally だけが実行される。
  • 上限を超えると RangeError になり、try/catch で捕まえられる。上限は搭載メモリではなく --stack-size と OS のスタック上限で決まり、深さはバイト数で決まる。Node のバージョンでも変わる。
  • 非同期のコールバックは、呼び出し元がいない短いスタックから始まる。実行の順序は、イベントループとタスクキュー、マイクロタスクとタスクの違いで扱う。