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ご指摘あればをお願いします。

(件名or本文内でキーワード検索できます)



  • << 前のページ
  • 次のページ >>
ページトップへ