Deep Dive 07章演算子


モダンjavascript deep dive
study with : zigum man

07章演算子


1.算術演算子

  • 算術演算が使用できない場合は、NAN(Not a Number)
  • を返します.
  • 増減演算子(++/--)はデフォルトの割当てです.
  • 電位増減演算子:++x
  • 接尾辞増減演算子:x--
  • 使用+、-演算子を数値タイプではなく数値タイプに変換します
  • 文字列+数値、ブール値+数値などがデフォルト型変換されます.
  • var x = "1";
    
    console.log(+x) // 1
    console.log(x) // "1"
    
    x = true;
    console.log(+x) // 1
    
    x ="hello";
    console.log(+x) // NaN
    
    '1' + 2; // '12'
    1 + true; // 2

    2.比較演算子

  • =、===//同等比較、マッチング比較
  • !=. !==//非対等比較、不一致比較
  • isNaN() : NaN = true , not NaN = false
  • NaNとNaNが一致するとfalseが現れる.そこで、両者を比較する場合は、Objectを選択します.is()メソッドを使用する必要があります.
  • NaN===NaN // false
    object.is(NaN,NaN) // true

    3.三項条件演算子

  • 条件式の評価結果は、返される値を決定します.
  • if-else文ですが、最大の違いはif-else文が値として使用できないことです.
  • var result = rank > 55 ? : 'good':'fail';

    4.typeof演算子

  • nullのtypeofはnull以外のオブジェクトを生成します.これはjsの最初のバージョンのエラーです.これからも変わらない.
  • 5.指数演算子

  • 累加平方:2**2,Math.pow(2,2);
  • カッコで囲まなければなりません.
  • 2**2; // 4
    Math.pow(2,2); // 4
    (-2)**3 // -8
    x**=3;

    6.演算子の付与効果

  • 通常は他のコードには影響しませんが、一部の演算子は他のコードに影響を与えます.
  • =,++, --, delete
  • 変数値への付与演算子の影響
  • 増減演算子被演算子値を変更する浮動小数点効果
  • deleteはオブジェクトプロファイルを削除する補助機能
  • JS interview


    9. What is the difference between == and === operators


    ソース
    JavaScript provides both strict(===, !==) and type-converting(==, !=) equality comparison.
    JavaScriptでは、厳密な比較(===、!=)と、値のみを表示する同等の比較(==、!=)の2つの一致比較が提供されます.
    The strict operators take type of variable in consideration, while non-strict operators make type correction/conversion based upon values of variables.
    厳密な演算子は変数のタイプを考慮し、厳密でない演算子は変数の値に基づいてタイプを変更/変換し、比較します.
    The strict operators follow the below conditions for different types,
    厳密な演算子は、次の条件に従って他のタイプを処理します.
    Two strings are strictly equal when they have the same sequence of characters, same length, and same characters in corresponding positions.
    2つの文字列は、同じ文字、長さ、および各文字の位置を厳密に比較します.
    Two numbers are strictly equal when they are numerically equal. i.e, Having the same number value.
    2つの数字が数学的に等しいかどうかは厳密に比較される.(同じ値の数値かどうか)
    There are two special cases in this,
    NaN is not equal to anything, including NaN.
    特別なルールが2つあります.南は自分を含めて何にも等しくない.
    Positive and negative zeros are equal to one another.
    -0と+0は等しい.
    Two Boolean operands are strictly equal if both are true or both are false.
    フリアン形式は2つがtrueなのかfalseなのかを厳格に比較している.
    Two objects are strictly equal if they refer to the same Object.
    2つのオブジェクトは、同じオブジェクトを参照するかどうかを厳密に決定します.
    Null and Undefined types are not equal with ===, but equal with ==. i.e, null===undefined --> false but null==undefined --> true
    nullとundefinedのタイプは==で同じであり、==では異なる.
    Some of the example which covers the above cases,
    0 == false   // true
    0 === false  // false
    1 == "1"     // true
    1 === "1"    // false
    null == undefined // true
    null === undefined // false
    '0' == false // true
    '0' === false // false
    []==[] or []===[] //false, refer different objects in memory
    {}=={} or {}==={} //false, refer different objects in memory