演算子

14262 ワード


既存のブログの内容をDevelopgに移行した記事です.

演算子


演算子は、値として評価できる式「演算子」を使用して値を作成します.
被演算子は値であり、演算子は演算によって新しい値を生成する役割です.

1.算術演算子


  • にこうえんざんし
    この算術演算子は、2つの被演算子を算術演算し、数値タイプの値を生成する.
    被演算子の値を変更しない
    // 산술 연산자
    5 * 4; // -> 20

  • 単項演算子
    単項演算子は、1つの被演算子を演算することによって数値タイプの値を生成します.ex)++, --, +, -
    被演算子の値を変更
    // 문자열 연결 연산자
    var x = 5,
      result;
    
    // 선할당 후증가 (Postfix increment operator)
    result = x++;
    console.log(result, x); // 5 6
    
    // 선증가 후할당 (Prefix increment operator)
    result = ++x;
    console.log(result, x); // 7 7
    
    // 선할당 후감소 (Postfix decrement operator)
    result = x--;
    console.log(result, x); // 7 6
    
    // 선감소 후할당 (Prefix decrement operator)
    result = --x;
    console.log(result, x); // 5 5
    
    // 아무런 효과가 없다.
    +10; // -> 10
    +-10; // -> -10
    
    // 문자열을 숫자로 타입 변환한다.
    +"10"; // -> 10
    
    // 불리언 값을 숫자로 타입 변환한다.
    +true; // -> 1
    
    // 불리언 값을 숫자로 타입 변환한다.
    +false; // -> 0
    
    // 문자열을 숫자로 타입 변환할 수 없으므로 NaN을 반환한다.
    +"Hello"; // -> NaN

  • 文字列接続演算子
    1つ以上の被演算子が文字列である場合、演算子は文字列接続演算子として使用されます.
  • 2.割付演算子


    代入演算子は、右の項目の変数を左の項目の変数に代入します.
    付与文は、値で測定されるため、式文です.
    チェーン割り当ては、次のように行うことができます.
    var a, b, c;
    
    // 연쇄 할당. 오른쪽에서 왼쪽으로 진행.
    // ① c = 0 : 0으로 평가된다
    // ② b = 0 : 0으로 평가된다
    // ③ a = 0 : 0으로 평가된다
    a = b = c = 0;
    
    console.log(a, b, c); // 0 0 0

    3.比較演算子


    左と右の被演算子を比較し、結果をブール値に戻します.

  • ピア/照合比較演算子
    比較演算子の説明されていない親効果==対等比較/非配置x==yxとyの値が等しいX==一致比較x==yxとyの値とタイプが同じX!=浮動対等比較x!=yxとyの値が違うX!==一致しない比較x!==yxとyの値とタイプが異なるX
    同等比較演算子は便利な場合がありますが、結果を予測するのが難しく、副作用が生じる可能性があるので使用しないほうがいいです.
    NaNは自分と一致しない唯一の値である.そこで,数値がNaNであるかどうかを調べるには,構築した関数isNaNを用いることができる.
    数字0にも注意JavaScriptには正0と負0があり、それらを比較してtrueを返します.
    // NaN은 자신과 일치하지 않는 유일한 값이다.
    NaN === NaN; // -> false
    
    // 빌트인 함수 isNaN은 주어진 값이 NaN인지 체크하고 그 결과를 반환한다.
    isNaN(NaN); // -> true
    isNaN(10); // -> false
    isNaN(1 + undefined); // -> true
    
    // 양의 0과 음의 0의 비교. 일치 비교/동등 비교 모두 true이다.
    0 === -0; // -> true
    0 == -0; // -> true

  • Object.方法
    ES 6に新たに導入されたオブジェクト.isメソッドは、以下の予測可能な正確な比較結果を返す.
    -0 === +0; // -> true
    Object.is(-0, +0); // -> false
    
    NaN === NaN; // -> false
    Object.is(NaN, NaN); // -> true

  • 大小関係比較演算子
    サイズ関係比較演算子は、被演算子のサイズを比較することによってブール値を返します.
    ex) >, <, >=, <=
  • 4.三項条件演算子

    조건식 ? 조건식이 true일때 반환할 값 : 조건식이 false일때 반환할 값3つの条件演算子式は、値式文です.

    5.論理演算子


    論理演算子は、右項と左項の被演算子(否定論理演算子、右項の被演算子)を論理演算する.ex) ||, &&, !
    論理和(|)または論理乗(&&)演算子式は、常に2つの被演算子の語を片側に計算します.

    6.カンマ演算子


    カンマ(,)演算子は左の被演算子から順に被演算子を評価し、最後の被演算子の評価が終了すると最後の被演算子の評価結果を返します.
    var x, y, z;
    
    (x = 1), (y = 2), (z = 3); // 3

    7.グループ化演算子


    グループ演算子(...)は、最初に被演算子式を評価します.したがって、グループ化演算子を使用すると、演算子の優先度を調整できます.

    8.typeof演算子


    type of演算子は、演算子のデータ型によって文字列を返します.
    type of演算子は、7つの文字列「string」、「number」、「boolean」、「undefined」、「symbol」、「object」、および「function」のいずれかを返します.
    nullは返されません.関数の場合はfunctionが返されます.
    このタイプの演算子が返す文字列は、7つのデータ型と完全に一致しません.
    type of演算子を使用してnull値を計算する場合は、nullではないobjectが返されることに注意してください.
    typeof ""; // -> "string"
    typeof 1; // -> "number"
    typeof NaN; // -> "number"
    typeof true; // -> "boolean"
    typeof undefined; // -> "undefined"
    typeof Symbol(); // -> "symbol"
    typeof null; // -> "object"
    typeof []; // -> "object"
    typeof {}; // -> "object"
    typeof new Date(); // -> "object"
    typeof /test/gi; // -> "object"
    typeof function () {}; // -> "function"
    宣言されていない識別子をtype of演算子として演算すると、参照エラーは発生せず、undefinedが返されます.
    // 식별자 undeclared는 선언한 적이 없다.
    typeof undeclared; // -> undefined

    9.指数演算子


    左の被演算子を下に、右の被演算子に指数を乗算し、数値タイプの値を返します.
    指数演算子を導入する前に、Math.powメソッドを使用しました.

    10.演算子の付与効果


    ほとんどの演算子は他のコードに影響しません.
    たとえば、1*2は他のコードに影響しません.
    しかし、一部の演算子は他のコードに影響を与える副作用を有する.
    補助効果のある演算子には、付与(=)演算子、増減(++/-)演算子、delete演算子があります.
    参考資料:poiemaweb。com