コンテンツにスキップ

JavaScript/JavaScriptの演算子

出典: フリー教科書『ウィキブックス(Wikibooks)』

概要

[編集]

JavaScriptの演算子は、データに対して操作を行うための記号です。演算子を使用することで、値の計算、比較、代入、論理演算などを行うことができます。JavaScriptには多くの種類の演算子があり、各演算子は異なる目的で使用されます。

演算子の種類

[編集]

JavaScriptには以下の種類の演算子があります。

代入演算子

[編集]

代入演算子は、右辺の値を左辺の変数に代入するために使用されます。 - =: 代入

let x = 5; // xに5を代入

複合代入演算子もよく使用されます。これにより、代入と演算を同時に行うことができます。

  • +=: 加算代入
  • -=: 減算代入
  • *=: 乗算代入
  • /=: 除算代入
let a = 10;
a += 5; // a = a + 5
a *= 2; // a = a * 2

=== 算術演算子 === 算術演算子は、数値の演算を行うために使用されます。

  • +: 加算
  • -: 減算
  • *: 乗算
  • /: 除算
  • %: 剰余(余り)
  • **: べき乗
let sum = 5 + 3; // 8
let diff = 10 - 4; // 6
let prod = 4 * 7; // 28
let quotient = 9 / 3; // 3
let remainder = 9 % 4; // 1
let power = 2 ** 3; // 8

比較演算子

[編集]

比較演算子は、値を比較し、結果を真(true)または偽(false)で返します。

  • ==: 等価(型変換あり)
  • ===: 厳密等価(型変換なし)
  • !=: 不等価(型変換あり)
  • !==: 厳密不等価(型変換なし)
  • >: より大きい
  • <: より小さい
  • >=: 以上
  • <=: 以下
console.log(5 == '5');  // true(型変換あり)
console.log(5 === '5'); // false(型変換なし)
console.log(10 != 5);   // true
console.log(3 > 2);     // true

論理演算子

[編集]

論理演算子は、ブール値に対して論理演算を行います。

  • &&: 論理積(AND)
  • ||||: 論理和(OR)
  • !: 論理否定(NOT)
let a = true;
let b = false;
console.log(a && b); // false
console.log(a || b); // true
console.log(!a);     // false

条件(三項)演算子

[編集]

条件演算子は、条件に基づいて異なる値を返すための演算子です。if文の簡易表現として使用されます。

  • 条件 ? 真の場合 : 偽の場合
let age = 18;
let canVote = (age >= 18) ? "Yes" : "No";
console.log(canVote); // "Yes"

インクリメント・デクリメント演算子

[編集]

インクリメント演算子(++)とデクリメント演算子(--)は、変数の値をそれぞれ1ずつ増加または減少させます。

  • ++: インクリメント
  • --: デクリメント
let x = 5;
x++; // 6
let y = 10;
y--; // 9

前置(++x, --x)と後置(x++, x--)の違いもあります。前置は値を増減させた後に使用され、後置は使用後に増減されます。

let z = 5;
console.log(++z); // 6(前置)
console.log(z--); // 6(後置)

ビット演算子

[編集]

ビット演算子は、数値のビットレベルでの操作を行います。

  • &: ビット論理積
  • ||: ビット論理和
  • ^: ビット排他的論理和(XOR)
  • ~: ビット反転
  • <<: 左シフト
  • >>: 右シフト
  • >>>: ゼロ埋め右シフト
let a = 5;  // 101
let b = 3;  // 011
console.log(a & b); // 1(ビット論理積)
console.log(a | b); // 7(ビット論理和)
console.log(a ^ b); // 6(ビット排他的論理和)
console.log(~a);    // -6(ビット反転)
console.log(a << 1); // 10(左シフト)

型演算子

[編集]

型演算子は、値の型に関連する操作を行います。

console.log(typeof 5);    // "number"
console.log(typeof "hi"); // "string"
console.log([] instanceof Array); // true

副作用演算子

[編集]

副作用演算子は、主にオブジェクトや配列に対して操作を行うときに使います。

  • delete: プロパティを削除
  • in: オブジェクトにプロパティが存在するか確認
  • void: 式の評価後にundefinedを返す
let obj = { name: "Alice", age: 25 };
delete obj.age; // objからageを削除
console.log('age' in obj); // false

let result = void 0; // resultはundefinedになる
console.log(result); // undefined

演算子の優先順位

[編集]

演算子には優先順位があり、複数の演算子を使用する場合、優先順位に従って演算が行われます。例えば、算術演算子は比較演算子よりも優先されます。優先順位を明確にするためには、括弧 () を使って順番を指定することが推奨されます。

結論

[編集]

JavaScriptの演算子は、データの操作や比較、条件分岐を行うための強力なツールです。演算子を適切に使用することで、効率的で可読性の高いコードを書くことができます。

参考

[編集]