JavaScript操作子のまとめ


ビット操作
ECMAScriptのすべての数値はIEEE-7054ビットのフォーマットで記憶されていますが、64ビットの値を直接操作するのではなく、64ビットの値を32ビットの整数に変換してから作業を行い、結果を64ビットに変換します.
  • ビット別の非は波の線~によって表され、ビット別の非は戻り値の逆符号が実行される.
  • var num1 = 25;
    var num2 = ~num1;
    console.log(num2);  // -26
    
    その結果は以下の操作から返ってきたものと同じです.
    var n = 25;
    var n2 = -n -1;
    console.log(n2);
    
    2、位と(AND)によって操作子と一つの&表示があります.彼は二つの操作数があります.本質的には、位と操作子は二つの数値のそれぞれを揃えて、一定の規則に従って、同じ位置の二つの数にAND操作を行います.
    最初の値のビット
    2番目の数値のビット
    結果
    1
    1
    1
    1
    0
    0
    0
    0
    0
    0
    0
    0
    二つの数値だけが1の結果であり、一つが0の結果であれば0です.
    //    
    var result = 25 & 3;
    console.log(result); // 1
    
    3ですビットまたは(OR)でビットまたはオペレータを一つの|で表し、同様に二つの操作数があり、これは以下の真の値表に従う.
    最初の値のビット
    2番目の数値のビット
    結果
    1
    1
    1
    1
    0
    1
    0
    1
    1
    0
    0
    0
    このことから、ビットまたはオペレータは、1桁が1の場合は1に戻り、2桁が0の場合は0に戻ります.
    var result1 = 25 |3;
    console.log(result1) // 27
    
    ビット別または(XOR)でビット別または操作符を挿入記号(^^)で表し、2つの操作数もあります.
    最初の操作数
    第二操作数
    結果
    1
    1
    0
    1
    0
    1
    0
    1
    1
    0
    0
    0
    ビット別またはビット別または異なる点は、この操作数は、2つの数値対応ビットにおいて1つの1だけの場合に1に戻り、対応する2つのビットが1または0の場合に0に戻ります.
    //     
    var result2= 25 ^ 3;
    console.log(result2); // 26
    
    ブール操作子ブール操作子は全部で三つあります.と(AND)または(OR)
  • 論理非論理非感嘆符によって!は、ECMAScript内の任意の数値に適用できます.この数値がどのタイプであれ、このオペレータはブール値を返します.論理非オペレータはまず、その動作数をブール値に変換し、逆を求めます.つまり、動作数がオブジェクトであれば、falseを返します.操作数が空の文字列であれば、trueを返します.操作数が空でない文字列であれば、falseを返します.操作数が0なら、trueを返します.falseを返します.操作数が0なら、trueに戻ります.操作数がnullなら、trueに戻ります.操作数がundefinedなら、trueに戻ります.操作数がNaNなら、trueに戻ります.
  • .
    //     
    console.log(!false); // true
    console.log(!"")   // true
    console.log(!"34324");  // false
    console.log(!NaN);  // true
    console.log(!"bule");  // false
    
    二つの論理非演算子を同時に使用すると、一つの値は対応するブール値に変換され、その役割はBoolean関数と類似しています.
    //     
    console.log(!!false); // false
    console.log(!!"")   // false
    console.log(!!"34324");  // true
    console.log(!!NaN);  // false
    console.log(!!"bule");  // true
    
    2論理と論理と操作子は2つの和号、&&
    最初の操作数
    第二操作数
    結果
    true
    true
    true
    true
    false
    false
    false
    true
    false
    false
    false
    false
    3.論理または論理またはオペレータは2つの124 124によって表され、
    最初の操作数
    第二操作数
    結果
    true
    true
    true
    true
    false
    true
    false
    true
    true
    false
    false
    false
    一つは言っていないことです.論理またはオペレータは論理とオペレータのように短絡オペレータに属しています.つまり、判定された最初のブール値が結果を決めることができれば、次の判定を継続しません.
    //    
    var a = true;
    var res = (a || someUndefinedVariable);
    console.log(res);
    
    結果はtrueで、上記の例から、最初の操作数aのブール値がtrueであれば、論理取得式全体の結果を直接判定することができます.
    アダプティブオペレータ
    //      
    var c = 5;
    var d  = 10;
    var message = "the sum of 5 and 10 is " + c +d ;
    console.log(message);  // the sum of 5 and 10 is 510
    
    ここで注意したいのは、文字列に足し算を使うには、括弧を入れる必要があります.
    var message = "the sum of 5 and 10 is " +( c +d );
    
    
    オペレータとの関係もあります.ここでは詳しく説明しません.簡単なので、主に数値の比較ではなく、会ったら調べてください.何回か調べたら覚えられます.
    条件演算子
    variable = boolean_expression ? true_value :false_value
    
    上記命令に対する解釈:
    var max = (a > b) ? a : b;
    
    a,bの値を入力すると、結果が分かりやすいことは明らかです.