JavaScriptを扱っていると、毎回使える演算子が分からなくなるので、メモ。
加算(+)
足し算です。
<script>
const a = 20;
const b = 10;
const c = a + b;
document.write(c);
</script>
結果▼
減算(-)
引き算です。
<script>
const d = 20;
const e = 10;
const f = d - e;
document.write(f);
</script>
結果▼
乗算(*)
掛け算です。
<script>
const g = 20;
const h = 10;
const i = g * h;
document.write(i);
</script>
結果▼
除算(/)
割り算です。
<script>
const j = 20;
const k = 10;
const l = j / k;
document.write(l);
</script>
結果▼
剰余(%)
割った余りです。除算されたときに残った剰余を返します。
<script>
const m = 24;
const n = 10;
const o = m % n;
document.write(o);
</script>
結果▼
プリインクリメント( ++x )
代入の前に加算をします。
<script>
let p = 24;
const q = ++p;
document.write(p);
</script>
結果▼
ポストインクリメント( x++ )
代入の後に加算をします。
<script>
let r = 24;
const s = r++;
document.write(s);
</script>
結果▼
プリデクリメント( – – x )
代入の前に減算をします。
[rml_read_more]
<script>
let t = 24;
const u = --t;
document.write(u);
</script>
結果▼
ポストデクリメント( x – – )
代入の後に減算をします。
<script>
let v = 24;
const w = v--;
document.write(w);
</script>
結果▼
符号反転(-)
符号を反転させます。
<script>
let x = 24;
const y = -x;
document.write(y);
</script>
結果▼
ビット論理積(&)
両方のビットいずれも 1 である位置のビットで 1 を返します。
<script>
const aa = 5;
const ab = 3;
const ac = aa & ab;
document.write(ac);
</script>
結果▼
論理積(論理式)(&&)
すべてのオペランドが true である場合にのみ true になります。それ以外の場合は false になります。
<script>
const ad = 5;
const ae = 3;
const af = ad>0 && ae>0;
document.write(af);
</script>
結果▼
ビット論理和(|)
両方のオペランドの対応するビットのどちらか一方が 1 である位置のビットで 1 を返します。
<script>
const ag = 10;
const ah = 9;
const ai = ag | ah;
document.write(ai);
</script>
結果▼
論理和(論理式)(||)
どちらか一方が true である場合にtrue を返します。
<script>
const aj = 10;
const ak = -2;
const al = aj>0 || ak>0;
document.write(al);
</script>
結果▼
ビット排他的論理和(^)
両方のオペランドの対応するビットの一方だけが 1 である位置のビットで 1 を返します。
<script>
const am = 10;
const an = 4;
const ao = am ^ an;
document.write(ao);
</script>
結果▼
論理否定(!)
真値を取ると偽値になり、偽値を取ると真値になります。
<script>
const ap = 10;
const aq = 4;
const ar = !(ap > 0 || aq > 0);
document.write(ar);
</script>
結果▼
符号付き左シフト(<<)
1 つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0 のビットが右からずれて入ります。
<script>
let as = 10;
let at = 4;
const au = as << at;
document.write(au);
</script>
結果▼
符号付き右シフト(>>)
1 つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。最も左のビットをコピーしながらずれて入ります。
<script>
let av = 6;
let aw = 2;
const ax = av >> aw;
document.write(ax);
</script>
結果▼
符号なし右シフト(>>>)
(ゼロ埋め右シフト) は、1つ目のオペランドを指定されたビット数だけ右にずらします。右にずらしてあふれたビットは廃棄されます。0 のビットが左からずれて入ります。符号ビットは 0 になりますので、結果は負の数にはなりません。
<script>
let ay = -5;
let az = 2;
const ba = ay >>> az;
document.write(ba);
</script>
結果▼
まとめ
ひとまず、JavaScriptで使える演算子の一覧でした。
忘れた時は、ご参考ください😃