本稿は JavaScript の演算子に関する記事です。演算子とは、データに対して計算や比較などを行うための記号のことです。一般的なものとして代入演算子、算術演算子、比較演算子、論理演算子などがあります。
子ページから個別の演算子を選択してください。
本ページの子ページ
演算子の分類
| 分類 | 主な記号 | 用途 |
|---|---|---|
| 算術演算子 | + - * / % ** | 四則演算・剰余・べき乗 |
| 代入演算子 | = += -= *= /= %= | 値の代入・複合代入 |
| 比較演算子 | === !== == != < > <= >= | 真偽判定 |
| 論理演算子 | && || ! | 論理 AND / OR / NOT |
| ビット演算子 | & | ^ ~ << >> | 2進数ビット操作 |
| インクリメント / デクリメント | ++ -- | 1 ずつ加減 |
| 条件 (三項) | cond ? a : b | 1 行の条件分岐 |
| ぬる合体 | ?? | null / undefined のとき右辺を使う |
| オプショナルチェイン | ?. | 途中が null/undefined ならエラーにせず undefined |
| スプレッド / レスト | ... | 展開・可変長引数 |
| typeof / instanceof | typeof x / x instanceof Y | 型判定 |
| カンマ | , | 左から評価し最後の値を結果に |
| delete | delete obj.k | プロパティ削除 |
== と === の違い
| 式 | 結果 | 説明 |
|---|---|---|
0 == "0" | true | 型変換あり比較 |
0 === "0" | false | 厳密比較 (型も含めて一致が必要) |
null == undefined | true | 緩い比較では同一視 |
null === undefined | false | 厳密比較では別物 |
NaN === NaN | false | Number.isNaN(x) で判定する |
新しいコードでは原則 === / !== を使います。
論理演算子と短絡評価
|
// AND は最初に falsy になった値を返す |
OR (||) と ぬる合体 (??) は似て見えますが、空文字や 0 を「値あり」として扱いたい場合は ?? を使います。
オプショナルチェイン
|
const user = { name: "Taro" }; |
演算子の優先順位 (抜粋)
| 優先度 | 演算子 |
|---|---|
| 高 | () 関数呼出 / [] プロパティ参照 / . |
| ↑ | ! typeof ++ -- (単項) |
** (べき乗) | |
* / % | |
+ - | |
< <= > >= instanceof in | |
=== !== == != | |
&& | |
|| ?? | |
| 低 | = / += / 三項 ? : / カンマ |
迷ったら明示的に括弧を付けるのが安全です。
注意点
- 常に
===を使う。==は予想外の真理値になりがち +は文字列連結も兼ねる:1 + "2"は"12"- 小数演算に
0.1 + 0.2 !== 0.3の浮動小数点誤差がある - インクリメント前置・後置で評価タイミングが違う (
++iとi++) deleteは変数ではなくプロパティ削除専用 (旧スタイル変数では効かない)- 厳密モード (
'use strict';) / モジュールでは挙動が一部厳しくなる
関連
- 親カテゴリ: 文法 (JavaScript)
- 子ページ: 代入演算子 / 算術演算子 / 比較演算子
- JavaScript 本体: JavaScript
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38