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であれば後のものを取って、反対に前のものを取ります. 𞓜𞓜:または左右の両方だけで成立しています.全体の結果はtrueです. 前のブールがfalseであれば、後のを取って、反対に前の %は文の実行中、%は型取り、俗称は剰余金取り +=/-= 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元で判断します. 空席結合演算子は非常にシンプルな名前であり、nullまたはundefinedの値かどうかを確認できます.もしそうであれば、デフォルトは別の値です.これだけです. ブールをfalseにすると次の5つの場合 null undefined 空文字列「」 0 数字がない-NaN
演算子優先度
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–、=========、!
let num = 1&&2;
console.log(num);//2
let num1 = 0&&1;
console.log(num1)//0
if(1=="1"&&2==="2"){
console.log(100)
}
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)
}
オプションチェーン操作子(Optional Chining)
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)
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, , ?? """