JavaScriptの演算
javascriptでは足し算、引き算、掛け算、割り算、余り算の5通りの演算ができます。
演算 | 例 |
---|---|
加算: + | z=x+y 変数xとyに代入されている数値が加算され変数zに代入 |
減算: - | z=x-y 変数xとyに代入されている数値が減算され変数zに代入 |
乗算: * | z=x*y 変数xとyに代入されている数値が乗算され変数zに代入 |
除算: / | z=x/y 変数xとyに代入されている数値が除算され変数zに代入 |
剰余: % | z=x%y 変数xに代入されている数値を変数yに代入されている数値で割ったときの剰余(余り)が変数zに代入 |
javascriptの論理演算子
JavaScriptの論理演算子は、真偽値(ブーリアン値)を操作するための演算子です。以下は主な論理演算子とその説明です。
論理AND (&&)
- 両方のオペランドが真であれば真を返します。
- 評価は左から右へと進み、falsyな値が見つかった場合はその時点で評価を中断します。
- 例: true && true は true、true && false は false
論理OR (||)
- 少なくとも1つのオペランドが真であれば真を返します。
- 評価は左から右へと進み、truthyな値が見つかった場合はその時点で評価を中断します。
- 例: true || false は true、false || false は false
論理NOT (!)
- オペランドの真偽値を反転させます。
- 例: !true は false、!false は true
JavaScriptの論理演算子は、ブーリアン値だけでなく、他のデータ型にも適用できる点が特徴的です。このとき、オペランドは内部的に真偽値に変換されるのではなく、特定のルールに基づいてtruthy(真として評価される)またはfalsy(偽として評価される)とみなされます。
例えば、以下の値はfalsyとして評価されます:
- false
- 0
- "" (空文字列)
- null
- undefined
- NaN
これ以外の値は基本的にtruthyとして評価されます。
<script> const name = "" || "John Doe"; console.log(name); // "John Doe" </script>
この例では、空の文字列はfalsyなので、|| 演算子は次のオペランド "John Doe" を返します。これにより、変数や値が未定義またはfalsyな場合のデフォルト値を簡単に設定することができます。
しかし、以下の場合は
<script> const number == "1" || "2";//これだと上手くいかない const number == "1" || number == "2";//この書き方で。 </script>
javascriptの代入演算子
javascriptの代入演算子は「=」です。javascriptに限らずすべてのプログラミング言語において「=」にイコールの意味はなく、値を代入するという意味になります。
本来のイコールの意味の演算子は「=」ではなく「==」or「===」です。
<script> var a = 10; //aに10を代入する a += 10; //a=a+10の省略形 a -= 10; //a=a-10の省略形 a *= 10 //a=a*10の省略形 a /= 10 //a=a/10の省略形 a %= 10 //a=a%10の省略形 a++; //a+1の省略形 </script>
javascriptの比較演算とif文
if文で多用される演算に比較演算があります。比較した結果はtureまたはfalseになります。
演算子 | 例 |
---|---|
== | 両辺の数値または文字列が等しいときtrue、さもないときfalse |
!= | 両辺の数値または文字列が等しくないときtrue、さもないときfalse |
> | 左辺の数値の方が大きいときtrue、さもないときfalse |
<= | 左辺の数値の方が大きいか等しいときtrue、さもないときfalse |
< | 左辺の数値の方が小さいときtrue、さもないときfalse |
<= | 左辺の数値の方が小さいか等しいときtrue、さもないときfalse |
if文の構造は以下のように、if(){}の形で記述します。if文の最後にはセミコロンは必要ありません。記述しても動きますが、続けてelseを記述するときはセミコロンは付けてはいけません。
<script> if(a == 1){ //aが1ならば、処理1を行い、それ以外なら処理2を行う 処理1 }else{ 処理2 } //if文の省略形 if(a){処理} //if(a == true){処理}の省略形。falseの場合は省略できません。 </script>
「a === 1」のようにイコール記号が3つならばった演算子をみることがあると思います。「==」との違いは型を含めてイコールかどうかです。
「==」は型を関係なくイコール、つまり、数字の10も文字列の10も同じとしてみなされますが、「===」は型のイコールも評価されるため、数字と文字列の10は区別されます。
三項演算子
if(a==10){alert("good")}else{alert("bad")}という文には省略形がある。
(a==10)? alert("good"):alert("bad");
A?B:C;で、AがtrueならB、falseならCという意味になる。if文と短縮して使う時に用いる。
また、三項演算子とは関係ないが、if文の省略形として、1行分であれば、
if(a==10) return;
のように、{}記号を省略することも可能だ。
コメントor補足情報orご指摘あればをお願いします。
- << 前のページ
- 次のページ >>