1. ホーム
  2. js

js構文(3)

2022-02-27 03:36:40
<パス
  1. 共通記述
    ループ文の重視 宣言文の重視

    • 式文 ( JS syntax_3.txt を参照 )
      変数または直接量と結合された演算子で構成されます。
      ** 直接量

    ステートメントブロック
    { <未定義
    var x, y;
    x = 10;
    y = 20;
    }

    空のステートメント(言語設計の完全性の観点から、複数のセミコロンを挿入してもエラーが発生しないようにするためだけです)
    ;

    ifステートメント
    switchステートメント
    jsではifの代わりに使う必要はありません。

    ループ文
    forループ

         for(i = 0; i < 100; i++)
             console.log(i);
    
         for(var i = 0; i < 100; i++)
             console.log(i);
    
         for(let i = 0; i < 100; i++)
             console.log(i);
    
         var j = 0;
         for(const i = 0; j < 100; j++)
             console.log(i);
    
         const doesn't change but doesn't report an error
    
     for in loop
    
         objects are objects, it is recommended to use
    
     for of loop
         As long as the object has an iterator, it can be used for for of statements
    
         objects are arrays, it is recommended to use
    
     for await of loop
    
     while loop
         let a = 100
         while(a--) {
             console.log("*");
         }
    
     do while loop
    
         let a = 101;
         do {
             console.log(a);
         } while(a < 100)
    
    
    

    復帰文
    関数に戻り値を与える

    breakステートメント
    ループのswitch文を出すときに使う

    continueステートメント
    このループを終了し、ループを継続する

    withステートメント

     let o = {a:1, b:2}
     with(o){
         console.log(a, b);
     }
     The with statement turns an object's properties into variables within its internal scope
    
    
    

    throwステートメント
    tryステートメント
    デバッガステートメント

  2. 宣言的なステートメント

    varステートメント
    変数がローカルであることを保証するロジックと考えればよいでしょう。
    この3つのルールを守ってください。
    a. 宣言も初期化する必要があります。
    b. 使用される場所にできるだけ近い場所で宣言する。
    c. 宣言の重複を気にしない。
    letステートメント
    constステートメント

    class文
    constやletと同様に、どちらもブロックスコープで、前処理フェーズで外部変数をブロックする
    内部的にはコンストラクタキーワードでコンストラクタを定義し、ゲッタ/セッタを定義することができる

    関数の宣言
    一般的な関数
    関数 foo(){}
    非同期関数
    非同期関数 foo(){ <未定義
    await sleep(3000);
    }
    ジェネレーター機能
    関数* foo(){ <未定義
    収量1。
    2;
    3;
    }

     async generator function
         async function* foo(){
             await sleep(3000);
             yield 1;
         }
    
    
    
  3. トラバーサル動作のためのSymbol.iteratorのネイティブオブジェクト

    0: "Array"。
    1: "String"
    2: "Uint8Array"。
    3: "Int8Array"
    4: "Uint16Array"
    5: "Int16Array"。
    6: "Uint32Array"
    7: "Int32Array"
    8: "Float32Array"
    9: "Float64Array"
    10: "Uint8ClampedArray"
    11: "BigUint64Array"
    12: "BigInt64Array"
    13: "Map"
    14: "Set"