お疲れ様です。この記事ではJavaScriptにおける演算子について説明します。
演算子はこのようなものがあります。
・算術演算子
・代入演算子
・比較演算子
・論理演算子
・ビット演算子
・その他
に分けられます。
算術演算子
これはいわゆる算数です。小学生で習う算数です。
+
:足し算のことです。
-
:引き算のことです。
*
:掛け算のことです。
/
:割り算のことです。
**
:べき乗、累乗のことです。
%
:割ったあまりを求める演算子です。
使用例
console.log(1+1);//足し算
console.log(2-1);//引き算
console.log(1*1);/掛け算
console.log(2/1);/割り算
console.log(2**2);/べき乗
console.log(3%2);/余りを求める割り算
実行結果は
2
1
1
2
4
1
です。
今さらっとconsole.log
が出てきたと思うんですけど、これは最後のほうに説明しようと思います。
論理演算子
次は論理演算子について説明します。論理演算子というのは、真偽値、trueかfalseかを確かめるものです。
AND":両方の条件が真の場合にtrueを返す。
OR:いずれかの条件が真の場合にtrueを返す。
NOT`:条件の真偽を反転させる。
この論理演算子は英語のANDやORと同じ意味なので覚えやすいと思います。
この演算子は条件分岐などの構文で利用するので利用例は後々出てきます。
代入演算子
代入演算子というのは変数に追加したり、へしたりするということです。この演算子はWhile文などで利用されます。
=
:これは代入するという意味しか持ちません。(例:変数に代入)
+=
:左辺の値に右辺の値を加算したものを代入
-+
:左辺の値から右辺の値を減算したものを代入
*=
:左辺の値に右辺の値を乗算したものを代入
/=
:左辺の値を右辺の値で除算したものを代入
%=
:左辺の値を右辺の値で除算した余りを代入
**=
:左辺の値を右辺の値でべき乗したものを代入
&=
:左辺の値を右辺の値でビット論理積演算した結果を代入
|=
:左辺の値を右辺の値でビット論理和演算した結果を代入
^=
:左辺の値を右辺のでビット排他的論理和演算した結果を代入
&&=
:左辺の値がtrueの場合にだけ右辺に代入
||=
:左辺の値がfalseの場合にだけ右辺を代入
??=
:左の値がnull / undefinedの場合だけ右辺を代入
<<=
:左辺の値を右辺の値だけ左シフトした結果を代入
>>=
:左辺の値を右辺の値だけ右シフトした結果を代入
>>>=
:左辺の値を右辺の値だけ右シフトした結果を代入
代入演算子というのはこいつのことなんですが、全部書いてるとページが馬鹿長くなるので一部抜粋したコードを書きます。
const a = 10;//constで宣言した変数に代入
let b ; //bという変数のみ用意
let b+=1; //bに1を足す
let b**=1; //bに1をべき乗する
これらが代入演算子の使い方です。
比較演算子
次は比較演算子です。比較演算子はif文などの条件分岐の構文に多く利用されます。
==
:左辺と右辺の値が等しい場合はtrueを返す
!=
:左辺と右辺の値が等しくない場合はtrueを返す
<
:左辺が右辺より小さいい場合はtrueを返す
>
;左辺が右辺より大きい場合はtrueを返す
<=
:左辺が右辺以下の場合はtrueを返す
>=
:左辺が右辺以上の場合はtrueを返す
===
:右辺と左辺が厳密に同じならtrueを返す
!==
:右辺と左辺の値が等しくない場合trueを返す
?
:「条件式 ? 式1 : 式2」。条件式がtrueの場合は式1を、falseの場合は式2を返す
??
:左辺がnullでなければその値、左辺がnullならば右辺の値
これらは先ほど既述したようにif文などの条件分岐などで多く利用されます。利用方法は別の記事に書いてます。そちらを参照してください。
ビット演算子
ビット演算子というのは数値のビットレベルで操作を行う演算子のことです。
&
:左式と右式の両方にセットされているビットをセット
|
:左式と右式のどちらかにセットされているビットをセット
^
:左式と右式のどちらかにセットされていて、かつ、両方にセットされていないビットをセット
-
:ビットを反転させる
<<
:ビットを左にシフト
>>
:ビットを右にシフト(算術演算)
>>>
:ビットを右にシフト(論理演算)
こちらも構文で多く利用されるため、別の記事に書いておきます。