Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの'forawait ... of'ステートメントの重要性は何ですか?


待って...の

'待ちます...の 'ステートメントは、非同期を反復するループを作成します オブジェクトと同期 配列、配列のようなオブジェクト、マップセットなどのオブジェクト。

構文

for await (variable of iterable) {
   statement
}

次の例では、「 for await ... of "ステートメントは、非同期形式の通常の配列をループするために使用され、出力に示されているように1から5までの整数が表示されました。

<html>
<body>
<script>
   var txt = "";
   const array = [1,2,3,4,5];
   async function test() {
      for await (const p of array) {
         var txt = p + "</br>";
         document.write(txt);
      }
   }
   test();
</script>
</body>
</html>

出力

1
2
3
4
5


非同期を呼び出すには ループ内の関数、新しいシンボル " Symbol.asyncIterator "と"for-await ... of "構成が使用されます。最も重要なのは"for-await ... of "は、非同期の反復可能なオブジェクトをループするために重要な役割を果たしました。

次の例では、「 for await ... of "、非同期反復可能を反復処理します 、1から5までの整数が表示されました。

<html>
<body>
<script>
   var txt = "";
   var async = {
      [Symbol.asyncIterator]() {
         return {
            i: 1,
            next() {
               if (this.i < 6) {
                  return Promise.resolve({ value: this.i++, done : false});
               }
            }
         };
      }
   };
   async function test() {
      for await (let p of async) {
         txt = p + "</br>"
         document.write(txt);
      }
   }
   test();
</script>
</body>
</html>

出力

1
2
3
4
5

  1. JavaScriptでのSymbol.isConcatSpreadableの重要性は何ですか?

    Symbol.isConcatSpreadable このよく知られたシンボルは、 Array.prototype.concat()メソッドを使用するときにオブジェクトをその配列要素にフラット化する必要があるかどうかを構成するために使用されます 。 falseの場合 その後、アレイのフラット化は行われません。デフォルトでは、 Symbol.IsConcatSpreadable 真 。したがって、明示的に宣言されていない限り、平坦化 アレイの一部は避けられません。 記号なし 例 次の例では、シンボル Symbol.IsConcatSpreadable 明示的に述べられていませんでした。そ

  2. JavaScript WITHステートメントの用途は何ですか?

    WITHステートメントは、指定されたプロパティのデフォルトオブジェクトを指定し、長くて長いオブジェクト参照を書き込まないようにするために使用されます。指定されたオブジェクトをスコープチェーンの先頭に追加します。 以下はJavaScriptのwithステートメントのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="