JavaScript/Operators

カテゴリ:Book:JavaScript#Operators%20

Operators は、JavaScriptにおいて値に対して操作を行うための記号です。JavaScriptは様々な種類の演算子を提供しており、これらを使用して算術計算、比較、論理操作などを実行できます[1]

構文

// 二項演算子
x operator y

// 単項演算子
operator x  // 前置
x operator  // 後置
  • xy: オペランド
  • 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]

注意点

  • 優先順位: 演算子には優先順位があり、優先順位の高い演算子から評価されます。
  • 結合性: 同じ優先順位の演算子が連続する場合、結合性によって評価順序が決まります。
  • 型変換: 一部の演算子は、操作の過程で型変換を行うことがあります。
  • 副作用: インクリメント、デクリメント、代入演算子などは、オペランドの値を変更します。

脚註

  1. 演算子は、JavaScriptプログラムの基本的な構成要素の一つです。

外部リンク

カテゴリ:Book:JavaScript#Operators%20 カテゴリ:JavaScript
カテゴリ:Book:JavaScript カテゴリ:JavaScript カテゴリ:Pages using the JsonConfig extension