timeoutId を playSlideShow() 関数内で宣言するとエラーになります

timeoutId のスコープを考えてみると良いでしょう。
2022年2月25日
ユーザー
  let timeoutId;
  function playSlideshow() {
    timeoutId = setTimeout(() => {
      next.click();
      playSlideshow();
    }, 1000);
  }

本講義では timeoutId を上記のように宣言していますが、以下のように playSlideShow 関数内で宣言し、return で返せばいいのではないかと思ったのですが、「変数が定義されていない」とエラーになりました。

  function playSlideshow() {
    let timeoutId = setTimeout(() => {
      next.click();
      playSlideshow();
    }, 1000);
  return timeoutId;
  }

なぜうまく動作しないのでしょうか。ご指摘の程宜しくお願いします。

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

プレミアムプランとは?

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