JavaScriptの演算子の一覧と解説

前回は変数の定義について説明しました。

変数を定義したらそれを元に値を計算したり比較したりし、プログラムを組み立てていきます。

イメージはこれも中学校の数学です。

かなり理系脳な話になるので、数学が苦手な方はちょっと難しい話になるかもしれません。

でも慣れれば中学の連立方程式より簡単です。

算術演算子

算術演算子は、足し算など普通の計算を行う演算子です。

足し算(+)

足し算を行う演算子です。

文字列の場合は、どちらかが数値でも文字列として計算します。

引き算(-)

引き算を行う演算子です。

面白いのは、文字列の”1″から 1 を引いた場合は0になるんです。

この記事を書くのに実験してみて初めて知りました(笑)

知らなくても10年以上問題なくエンジニアやってこれましたが。

掛け算(*)

掛け算を行う演算子です。

× ではなく * を使います。

こちらも引き算同様で、文字列の掛け算はちゃんと掛け算してくれるようです。

意図的にバグを出したい場合しかこんなことは書かないだろうけど。

割り算(/)

割り算を行う演算子です。

剰余算(%)

これは余りを求める演算子です。

これはめったに使いませんが、使う場面が出てきたときには非常に便利です。

代入演算子

左辺に変数を下記、= で繋ぎ、右辺に左辺へ代入する値を計算します。

この = が代入演算子です。

プログラミングには下記のような代入演算子もあり非常に便利です。

2行目では a = a + 1; と同じ計算がされます。

足し算以外でも使えます。

文字列の場合は足し算で文字列を連結することが出来ます。

となります。

単項演算子

インクリメント

インクリメントは変数の値に 1 を足すものです。

ループ処理などで、何回ループしたかをカウントしたりするのに便利です。

a++ (接尾辞インクリメント)は、その行の処理内で後に計算がされます。

++a (接頭辞インクリメント)は、その行の処理内で先に計算がされます。

ただ、下のコードのように行を分けてしまえば同じ結果になります。

デクリメント

デクリメントは変数の値に 1 を引くものです。

ループ処理などで、予めループ回数を制限し0になったら処理を停止する場合などに使えます。

a– (接尾辞デクリメント)は、その行の処理内で後に計算がされます。

–a (接頭辞デクリメント)は、その行の処理内で先に計算がされます。

ただ、下のコードのように行を分けてしまえば同じ結果になります。

比較演算子

比較演算子は二つの値を比較するために使います。

== (等しい)

2つの値が同じかどうかを判定し、同じならば true を返します。

> (より大きい)

2つの数値の大きさを比較し、左辺の値が大きければ true を返します。

右辺のほうが大きい場合、同じ値の場合は false を返します。

>= (より大きいか等しい)

2つの数値の大きさを比較し、左辺の値が大きければ true を返します。

同じ値の場合は true を返します。

右辺のほうが大きい場合は false を返します。

!= (等しくない)

2つの値が同じかどうかを判定し、異なれば true を返します。

< (より小さい)

2つの数値の大きさを比較し、右辺の値が大きければ true を返します。

左辺のほうが大きい場合、同じ値の場合は false を返します。

<= (より小さいか等しい)

2つの数値の大きさを比較し、右辺の値が大きければ true を返します。

同じ値の場合は true を返します。

左辺のほうが大きい場合は false を返します。

論理演算子

&& (AND)

事象Aと事象Bがあった場合、AとBが重なる部分だけが true となります。

サンプルコードの中だと両方 true のものだけが true になります。

 

例えば、age (年齢)と、carLicense (車の免許を持ってる場合は true) があったとします。

この場合 age >= 18 と carLicense が両方 true で無いと車を運転してはいけません。となります。

|| (OR)

事象Aと事象Bがあった場合、AもしくはBが当てはまる場合 true となります。

! (NOT)

事象Aがあった場合、事象Aで無い場合が true になります。

!false と書くなら最初から true だけ!にしたほうがいいですが、 !false は事象Aに当てはまる場合になります。

まとめ

比較演算子はプログラムを書く上で必須です。

慣れてきても「あれ?あれ?」と思うことは多々ありますが、今回紹介したものはしっかり覚えておく必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA