第3章基本概念の演算子

単項演算子:

1つの値のみを操作できるシンボルです

  • ++ a
  • –a
  • + a
  • -a

インクリメントおよびデクリメント演算子:

++および–:
インクリメントおよびデクリメント演算子は次のルールに従います。

  • 文字列の
    場合文字列に数値がある場合は、まず文字列を数値に変換してから、1を加算および減算する操作を実行すると、文字列は数値変数になります。数値
    がない場合、文字列変数はNaNになります。文字列は数値変数になります。
  • ブール値の場合、最初にtrue / falseを1/0に変換してから、1を加算および減算する操作を実行します。このとき、ブール値は数値変数になります。
  • オブジェクトの場合、最初にオブジェクトのvalueOf()メソッドを呼び出してから、上記のルールを適用します。結果がNaNの場合は、toString()メソッドを呼び出してから上記のルールを適用すると、オブジェクト変数は数値変数。

例えば:

var o={
    
    
    valueof:function(){
    
    
      return -1;
    }
};
o--;   //值变为-2;

単項加算および減算演算子

単項演算子を非数値型に適用する場合、演算子はNumber()変換関数のように値に対して変換を実行します。
例:

  var s1="01";
        var s2="1.1";
        var s3="z";
        var b=false;
        var f=1.1;
        var o={
    
    
            valueOf:function(){
    
    
                return -1;
            }
        };

         s1=-s1;
         s2=-s2;
         s3=+s3;
         b=+b;
         f=-f;
         o=-o;

         console.log(s1);   //-1
         console.log(s2);   //-1.1
         console.log(s3);   //NaN
         console.log(b);    //0
         console.log(f);    //-1.1
         console.log(o);    //1

ブール演算子

3つのタイプがあります:and、or、not

論理否定:

  • オペランドがオブジェクトの場合、falseを返します。
  • オペランドが空の文字列の場合、trueを返します。
  • オペランドが空でない文字列の場合は、falseを返します。
  • オペランドが値0の場合、trueを返します。
  • オペランドがゼロ以外の値の場合は、falseを返します。
  • オペランドがnullの場合、trueを返します。
  • オペランドがNaNの場合、trueを返します。
  • オペランドが未定義の場合、trueを返します。
         alert(!false);//true  
         alert(!"blue");//false
         alert(!0);//true
         alert(!NaN);//true
         alert(!"");//true
         alert(!12345);//false

論理積(&&)

  • 偽がある限り、それは偽でなければなりません。最初の数字が偽の場合、2番目の数字は判断されません。
  • 論理ANDで未定義の値を使用することはできません
  • 最初のオペランドがオブジェクトの場合、2番目のオペランドを返します
  • 2番目の数値がオブジェクトの場合、最初の数値がtrueの場合にのみ2番目のオブジェクトを返します
  • 両方のオペランドがオブジェクトの場合、2番目の数値を返します
  • 最初の数値がnull、NaN、undefinedの場合、null、NaN、undefinedを返します

論理OR(||)

  • 最初のオペランドがオブジェクトの場合、最初のオペランドを返します
  • 最初のオペランドがfalseの場合、2番目のオペランドを返します
  • 両方のオペランドがオブジェクトの場合、最初の数値を返します
  • 両方の数値がnull、NaN、undefinedの場合、null、NaN、undefinedを返します

おすすめ

転載: blog.csdn.net/weixin_42898315/article/details/111058383