JSでよく使われる演算子

12817 ワード

演算子
演算子優先度
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence墯Table
1、メンバー訪問:オブジェクトの属性名を探して対応する属性値は、メンバーアクセス(19)Fn.aa 2、new(パラメータリスト付き):構造関数がかっこ(19)3、new(パラメータリストなし)を実行することである.つまり、構造関数が括弧なし(18)の優先順位を実行するのと同じで、左から右へ演算することである.
記号:&、𞓜|、%、+===、i+/i–、=========、!
  • &論理かつ:&左右両方とも成立している条件です.
  • 前のブールがtrueであれば後のものを取って、反対に前のものを取ります.
  • let num = 1&&2;
    console.log(num);//2
    let num1 = 0&&1;
    console.log(num1)//0
    
    if(1=="1"&&2==="2"){
            console.log(100)
         }
    
  • 𞓜𞓜:または左右の両方だけで成立しています.全体の結果はtrueです.
  • 前のブールがfalseであれば、後のを取って、反対に前の
  • let num = 1||2;
    console.log(num);//1
    
    let num1 = 0||1;//1
    
    let num3 = 0&&1||1&&2//2
    
    if(1==true||2===3){
      console.log(200)
    }
    
  • %は文の実行中、%は型取り、俗称は剰余金取り
  • +=/-=
  • let num=2;
  • num+=3=>num=num+3
  • consolie.log(num);
  • i+:自身に+1を加えて、正常に演算します.
  • i+:先取値、後演算
  • ++i:先に計算して、後で値を賦与する
  • =:賦値は先に等号の右側を計算し、等号の左側
  • ==比較して、ブール値を返します.デフォルトではデータタイプ間の変換が行われます.
  • 待たない
  • ==全部、絶対比較;データタイプ変換を行わず、データタイプが異なる限り、false
  • !==絶対待たない
  • []変数の取得は中かっこのみとなります.
  • 中かっこ法は属性名として変数を使用できますが、ポイント方法はできません.
  • 中かっこ法は属性名として数字が使えますが、文法はダメです.
  • 他のデータタイプを先にブールに変えてから反対を取ります.
  • null//true
  • 他のデータタイプをブールに変えて反対に取って反
  • ES 2020
    オプションチェーン操作子(Optional Chining)
  • ネストオブジェクト内部の属性をチェックする場合、通常は中間オブジェクトの存在を確認しなければならない.
  • ES 2020のオプションリンク演算子は、新たに追加できますか?(オプションのチェーン演算子文法?)は、オブジェクトの深部に値があるかどうかをチェックします.
  • 前の項目があるかどうかを以前のように& 判断しなくてもいいです.または一部の場合は3元で判断します.
  •         const res = { 
                "result": true, 
                "message": "success", 
                "data": { 
                    "id": 726, 
                    "title": "        ,        ,         。", 
                    "hits": 31, 
                    "status": 1, 
                    "user_id": 1 ,
                    "obj":{
                        "name":"zhainanya"
                    }
                } 
            }
            
            let a=res.data?.obj?.name;
            //         data,  res.data.obj,    undefined
            //  data  obj,  res.data.obj.name,    undefined
            console.log(a);
    
    
    空格子点結合演算子(Nullish coalescing Operator)
  • 空席結合演算子は非常にシンプルな名前であり、nullまたはundefinedの値かどうかを確認できます.もしそうであれば、デフォルトは別の値です.これだけです.
  • ブールをfalseにすると次の5つの場合
  • null
  • undefined
  • 空文字列「」
  • 0
  • 数字がない-NaN
  • 
            const result={
                "result":true,
                "message":"success",
                "data":{
                    "a":0,
                    "b":"",
                    "c":null,
                    "d":undefined,
                    "e":NaN,
                }
            }
            let b=result.data.a?result.data.a:"";
            console.log(b);//  0     ""
            let c=result.data.a??""
            console.log(c);//0
            let d=result.data.c??"";
            console.log(d);//""
    
            let f=result.data?.c??"";
            console.log(f);//""
            let e=result.data?.a??"";
            console.log(e);//0
            //  result.data  ,  result.data.a
            //   result.data.a    null undefined,    ,   ??   """