JavaScript/Operators
Operators
は、JavaScriptにおいて値に対して操作を行うための記号です。JavaScriptは様々な種類の演算子を提供しており、これらを使用して算術計算、比較、論理操作などを実行できます[1]。
構文
// 二項演算子 x operator y // 単項演算子 operator x // 前置 x operator // 後置
x
、y
: オペランドoperator
: 演算子
演算子の種類
算術演算子
以下のプログラムは、基本的な算術演算子の使用例を示します。
// 加算 console.log(5 + 3); // 8 // 減算 console.log(5 - 3); // 2 // 乗算 console.log(5 * 3); // 15 // 除算 console.log(6 / 3); // 2 // 剰余 console.log(7 % 3); // 1 // べき乗 console.log(2 ** 3); // 8 // インクリメント let a = 5; console.log(++a); // 6 console.log(a++); // 6 (a は 7 になる) // デクリメント let b = 5; console.log(--b); // 4 console.log(b--); // 4 (b は 3 になる)
代入演算子
以下のプログラムは、代入演算子の使用例を示します。
// 基本的な代入 let x = 5; // 複合代入 x += 3; // x = x + 3 と同じ console.log(x); // 8 x -= 2; // x = x - 2 と同じ console.log(x); // 6 x *= 3; // x = x * 3 と同じ console.log(x); // 18 x /= 6; // x = x / 6 と同じ console.log(x); // 3 x %= 2; // x = x % 2 と同じ console.log(x); // 1 x '''= 3; // x = x ''' 3 と同じ console.log(x); // 1
比較演算子
以下のプログラムは、比較演算子の使用例を示します。
// 等価性 console.log(5 == "5"); // true(値の等価性、型変換あり) console.log(5 === "5"); // false(厳密な等価性、型も比較) // 不等価性 console.log(5 != "6"); // true console.log(5 !== "5"); // true // 大小関係 console.log(5 > 3); // true console.log(5 < 3); // false console.log(5 >= 5); // true console.log(5 <= 4); // false
論理演算子
以下のプログラムは、論理演算子の使用例を示します。
// 論理AND console.log(true && true); // true console.log(true && false); // false // 論理OR console.log(true || false); // true console.log(false || false); // false // 論理NOT console.log(!true); // false console.log(!false); // true // 短絡評価 console.log(false && someUndefinedVariable); // false(右側は評価されない) console.log(true || someUndefinedVariable); // true(右側は評価されない)
ビット演算子
以下のプログラムは、ビット演算子の使用例を示します。
// ビットAND console.log(5 & 3); // 1 // ビットOR console.log(5 | 3); // 7 // ビットXOR console.log(5 ^ 3); // 6 // ビットNOT console.log(~5); // -6 // ビットシフト console.log(5 << 1); // 10(左シフト) console.log(5 >> 1); // 2(右シフト、符号あり) console.log(5 >>> 1); // 2(右シフト、符号なし)
その他の演算子
以下のプログラムは、その他の演算子の使用例を示します。
// 条件(三項)演算子 const result = (5 > 3) ? "大きい" : "小さい"; console.log(result); // "大きい" // nullish合体演算子 let value = null; console.log(value ?? "デフォルト値"); // "デフォルト値" // オプショナルチェーン const obj = { a: { b: 42 } }; console.log(obj?.a?.b); // 42 console.log(obj?.c?.d); // undefined // スプレッド演算子 const arr1 = [1, 2, 3]; const arr2 = [...arr1, 4, 5]; console.log(arr2); // [1, 2, 3, 4, 5]
注意点
- 優先順位: 演算子には優先順位があり、優先順位の高い演算子から評価されます。
- 結合性: 同じ優先順位の演算子が連続する場合、結合性によって評価順序が決まります。
- 型変換: 一部の演算子は、操作の過程で型変換を行うことがあります。
- 副作用: インクリメント、デクリメント、代入演算子などは、オペランドの値を変更します。
脚註
- ↑ 演算子は、JavaScriptプログラムの基本的な構成要素の一つです。