JavaScript | 第6章「式と演算子」

javascrpit JavaScript
スポンサーリンク

JavaScript「式と演算子」要点まとめ

全体の要点

概念説明
式 (expression)評価されると「値」になるコード。例:3 + 4, x = 10, a > b ? a : b
演算子 (operator)値を操作・組み合わせるための記号やキーワード。例:+, =, >, && など
目的値を作る・比較する・代入する・条件分岐するなど、あらゆる操作の基礎

主な演算子の分類と使い方

分類主な演算子説明
代入演算子=, +=, -=, *=, /=, %=x += 3右の値を左に代入(計算しながら代入も可能)
比較演算子==, !=, ===, !==, >, <, >=, <=x === 3値や型を比較して true / false を返す
算術演算子+, -, *, /, %, **, ++, --2 ** 3数値の計算・インクリメントなど
論理演算子&&, `, !, ??`
ビット演算子&, `, ^, ~, <<, >>, >>>`5 & 3
条件(三項)演算子条件 ? 値1 : 値2age >= 18 ? "大人" : "子供"if文の短縮版
カンマ演算子,(a=1, b=2, a+b)複数の式を順に評価して最後の結果を返す
単項演算子delete, typeof, void, +, -typeof xオペランド1つを操作

評価のルール

ルール内容
優先順位*/+ より先に評価されるなど、演算子ごとに順序がある
結合規則同じ優先順位なら、左から or 右から評価(例:代入演算子は右結合)
括弧 ()順序を明示したいときに使う。最も優先される

実用ポイント

  1. == より === を使う(型変換によるバグ防止)
  2. ||?? の違いを理解する(|| は 0 や空文字も false 扱い)
  3. 条件演算子で if 文を簡潔に書ける
  4. 複雑な式は 括弧で明示的に整理
  5. 代入や論理演算も「式」なので、値を返すことを意識する

JavaScript 演算子の優先順位 一覧表(初心者向け)

優先順位(高い順)演算子種類結合方向
20()グループ化左から右(a + b) * c
19. [] ?.メンバーアクセス / オプショナルチェーン左から右obj.key, arr[0], obj?.prop
18new(引数あり)インスタンス生成右から左new Date()
17()(関数呼び出し)関数呼び出し左から右myFunc(x)
16++ --(後置)インクリメント/デクリメント左から右x++, y--
15! ~ + - typeof void delete await ++ --(前置)単項演算子右から左!a, typeof b, ++x
14**べき乗右から左2 ** 3 ** 22 ** (3 ** 2)
13* / %算術演算左から右a * b / c
12+ -加減算左から右a + b - c
11<< >> >>>シフト演算左から右x << 2
10< <= > >= in instanceof比較演算左から右a < b, key in obj
9== != === !==等価・不等価左から右a === b
8&ビット AND左から右a & b
7^ビット XOR左から右a ^ b
6``ビット OR左から右
5&&論理 AND(短絡評価)左から右a && b
4`??`論理 OR / null合体演算
3? :条件(三項)演算子右から左a > 0 ? 1 : -1
2= += -= *= /= %= **= &= `= ^= <<= >>= >>>= &&== ??=`
1,カンマ演算子左から右(a = 1, b = 2)

覚え方のコツ

  1. 「数式に近いものほど優先順位が高い」
     → * / %+ - より先、() は最優先
  2. 「代入や条件は最後に評価される」
     → =? : は一番後ろの方
  3. 「右結合」を覚えておく代表例
     → =**? :右から評価

まとめ一行

は「値を生み出すもの」、
演算子は「値をどう扱うかを決める道具」。

タイトルとURLをコピーしました