JS-基本演算子と数学


基本演算子と数学


用語:単項、二項、被演算子

  • 被演算子(オペランド)は、演算子が演算を実行するオブジェクトである.「5*2には左の被演算子5と右の被演算子2があり、合計2つの被演算子があります.」「被演算子」は「パラメータ」と呼ばれることがあります.
  • の演算子を1つだけ受け入れる演算子を単項演算子と呼びます.
  • let x = 1;
    
    x= -x;
    alert(x); //-1, 단항 마이너스 연산자는 부호를 뒤집는다. 
    被演算子記号を反転する単一の負の演算子-が典型的な例です.
    2つの演算子を受け入れる演算子を二項演算子と呼びます.負の演算子には、次の2つの演算子も使用できます.
    let x = 1, y = 3;
    alert(y-x); //2, 이항 마이너스 연산자는 뺄셈을 해준다.
    反転記号の単項負演算子は、減算に使用する二項負演算子(減算演算子)記号と同じですが、実行する演算は異なります.2つの演算を区別する基準は被演算数である.

    数学


    jsがサポートする数学演算子
    +、-、*、/、%(残り)、**(繰り返し二乗)

    残りの演算子%


    remainder operator. a%bは、aをbで割った後、残り(残り)を整数に返す.
    alert(5%2); //5를 2로 나눈 후의 나머지인 1을 출력.
    alert(8%3); // 8을 3으로 나눈 후의 나머지인 2를 출력.

    繰返し二乗演算子**

    alert(2 ** 2); //4 (2 * 2)
    alert(2 ** 3); //8 (2 * 2 * 2)
    a**bは、aにbを乗じた値を返します.
    alert(4**(1/2)); //2 (1/2 거듭제곱은 제곱근)
    alert(8**(1/2)); //2 (1/3 거듭제곱은 세제곱근)

    この演算子「+」を文字列に関連付ける


    jsが提供する特殊演算子機能
    let s = "my" + "string" ;
    alert(s); // mystring
    加算+は通常、加算値の結果を返します.ただし、文字列がその演算子+の被演算子に渡されると、加算演算子は加算ではなく文字列をマージ(接続)します.したがって、この演算子+を使用すると、1つの被演算子が文字列である場合、もう1つも文字列に変換されます.
    alert(2+2+'1'); // '221' X '41'이 출력
    演算は左->の順で行われるので,このような結果が出力される.
    まず数字、次に数字と文字列のマージです.
    alert(6 - '2'); //4, '2'를 숫자로 바꾼 후 연산이 진행.
    alert('6' / '2'); //3, 두 피연산자가 숫자로 바뀐 후 연산이 진행.
    減算

    単項演算子+を数値に変換


    加算演算子+は、二項演算子としてのみならず、単項演算子としても使用できます.
    数値に単項加算演算子を追加すると、演算子は何もしません.ただし、被演算子が数値でない場合は、数値形式に変換されます.
    //숫자에는 아무런 영향을 미치지 않는다.
    let x = 1;
    alert(+x); //1
    
    let y = -2;
    alert(+y); //-2
    
    //숫자형이 아닌 피연산자는 숫자형으로 변화
    alert(+true); //1
    alert(+""); //0
    単項加算演算子の番号(...)同じことをすることができます.
    let apples = "2";
    let oranges = "3";
    
    alert(apples+oranges); //23, 이항 덧셈연산자는 문자열을 연결.
    この加算演算子を使用すると、次のように値が文字列に変わります.
    let apples = "2";
    let oranges ="3";
    
    //이항 덧셈연산자가 적용되기 전에, 두 피연산자는 숫자형으로 변화함.
    alert(+apples + +oranges); //5
    
    //`Number(...)`를 사용해서 같은 동작을 하는 코드를 작성할 수 있다.
    // alert(Number(apples) + Number(oranges); //5 
    単一加算演算子は、まず文字列を数値に変換し、2つの加算演算子はその結果を加算します.しかし、なぜ2つの加算演算子を適用する前に、単一の加算演算子を適用するのでしょうか.

    演算子の優先度



    単項加算の優先順位は17であり、(二項)加算の13より高い.
    したがって,単項加算演算子は加算より先に実行される.

    割付演算子


    ある物を割り当てるときに使用される=度演算子.この演算子は割当て演算子と呼ばれ、優先度は3で非常に低いです.
    let x = 2 * 2 + 1;
    
    alert(x); //5

    戻り値の割当て演算子


    jsのほとんどの演算子は値を返します.
    x=valueを呼び出すと、valueはxに書き込まれ、valueに戻ります.
    let a =1;
    let b =2;
    
    let c = 3 - (a = b + 1);
    
    alert(a); //3
    alert(c); //0
    割り当て演算子の動作原理を理解します.自分でコードを書くときだけ、このような方法を使わないでください.(コード明瞭性X、可読性X)

    自動配賦演算子


    割当て演算子は、複数(フィルタ)を接続できます.
    let a, b, c;
    a = b = c = 2 + 2;
    
    alert(a); //4
    alert(b); //4
    alert(c); //4
    複数の割当て演算子が接続されている場合は、右側から
    c = 2 + 2;
    b = c;
    a = c;
    切寧ではなく、パケットコードをお勧めします.

    複合割り当て演算子


    プログラムを作成する場合、変数に演算子を適用し、結果を同じ変数に保存する必要があることがよくあります.
    let n =2;
    n+=5; // n은 7 (n = n + 5 와 동일) 
    n*=2; // n은 14 (n = n * 2 와 동일)
    
    alert(n); //14
    +=、*=演算子を使用すると、フレーズ法を使用して同じ演算を実行できます.
    let n = 2;
    
    n *= 3 + 5;
    
    alert(n); //16 (*=의 우측이 먼저 평가되므로, 위 식은 n*=8과 동일.)

    増減演算子


    インクリメンタル演算子++増加変数1
    let counter = 2;
    counter ++; // counter = counter + 1 과 동일
    alert(counter); //3
    マイナス記号演算子--変数1を減らします.
    let counter = 2;
    counter --; //counter = counter - 1 과 동일
    alert(counter); //1
    増減演算子は変数にのみ適用されます.
    後置形式
    前衛的
    下位型と上位型の役割は,被演算子counterを1増加させることである.
    let counter = 1;
    let a = ++counter; //(*)
    
    alert(a); //2
    (*)で表される電位型++counterはcounterを増やし、新しい値2を返します.したがってalertは2を表示します!
    let counter = 1;
    let a = counter ++; //(*) ++counter를 counter++로 바꿈
    
    alert(a); //1 
    (*)でマークされた行の後方counter++はcounterを増加させますが、増加前の既存の値が返されます.したがってalertは1を表示する
    だから整理すると!
    let counter = 0;
    counter ++;
    ++counter;
    alert(counter); //2
    戻り値が使用されない場合、プリアンブルとポストガイドとの差x
    let counter = 0;
    alert(++counter); //1
    値を大きくすると、プリアンブル増分演算子を使用して増分をすぐに使用できます.
    let counter = 0;
    alert(counter++); //0
    値を増やしますが、増分前の既存の値を使用するには、後方増分演算子を使用します.
    (演算子の増加と減少の優先度はほとんどの演算子より高いので、まず評価を行います)

    ビット演算子

  • ビットAND(&)
  • ビットOR(|)
  • ビットXOR(^)
  • 位NOT(~)
  • 左シフト(<)
  • 右切り替え(>>>)
  • 符号なし右シフト(>>>)
  • Web開発ではあまり使われませんが、パスワードの処理が必要な場合はビット演算子が役立ちます.

    カンマ演算子


    、コードの短い目的として使用される場合があります.
    1行のコードで複数の式を計算できます.各式は計算されますが、最後の式の計算結果のみが返されます.
    let a = (1+2,3+4);
    
    alert(a); //7 (3+4의 결과)
    1+2は評価ですが、結果は破棄されます.3+4のみ計算し、aに割り当てます.
    カンマ演算子は、1行で複数のアクションを処理しようとする複雑な構造に使用されます.コードは毒性に役に立たないので、考えてみると、必要なときだけ使います!