JavaScript制御フロー


JavaScript制御フロー


JavaScript非同期について

  • JavaScriptは、他のマルチスレッドプログラミング言語とは異なる方法で非同期動作を処理する.
  • 動作の正確な理解がなければ,コードの歩みに追いつくことは困難である.
  • JavaScript内部の非同期動作を理解するためには,イベントループなどの概念を理解する必要がある.
  • JavaScriptエンジン

  • JavaScriptエンジンは、プライマリスレッドで構成されています.
  • メインスレッドは、コードを読み取り、行ごとに実行します.
  • ブラウザ環境は、ユーザイベントを処理し、画面を描画する.
  • どうきせいぎょりゅう

  • 同期制御フローは、現在実行されているコードが終了する前に次の行のコードを実行しないことを意味する.
  • 分岐文、重複文、関数呼び出しなどが同期して実行されます.
  • コードのフローは、実際の制御フローと同じです.
  • シングルスレッド環境でメインスレッドを長時間占有すると、プログラムが停止します.
  • let a = 10;
    console.log("a : ", a);
    
    function foo(num) {
      for (let i = 0; i < 10; ++i) {
        console.log(num);
      }
    }
    foo(num);

    同期vs非同期



    ひどうきせいぎょりゅう

  • 非同期制御フローは、現在実行されているコードが終了する前に次の行のコードを実行することを意味する.
  • プロセス、コールバック関数の呼び出しなどは非同期で実行されます.
  • 符号ストリームは、実際の制御ストリームとは異なる.
  • 非同期タスクを待つと、プライマリ・スレッドは他のタスクを処理します.
  • let a = 10;
    
    setTimeout(function callback() {
      console.log("a: ", a);
    }, 3000);
    
    console.log(`Finished`);

    同期vs非同期