本稿は 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・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09