ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
代入演算子とは
代入演算子(assignment operator)は変数に値を入れるための演算子です。基本の =(イコール)に加えて、四則演算やビット演算と組み合わせた複合代入演算子が用意されており、コードを簡潔に書けます。
基本: =
let a = 10; // 変数 a に 10 を代入
let name = "tarou";
// 右から左へ代入される(右辺を先に評価)
let x = (a = 5) + 3; // a に 5 を代入し、その値 5 + 3 = 8 が x に入る
多くの言語で = は右辺を評価して左辺の変数に代入する演算子です。数学の「等しい」とは別物なので、比較したいときは == / === を使います。
複合代入演算子(算術)
| 演算子 | 意味 | 等価な式 |
|---|---|---|
+= | 加算して代入 | a = a + b |
-= | 減算して代入 | a = a - b |
*= | 乗算して代入 | a = a * b |
/= | 除算して代入 | a = a / b |
%= | 剰余を代入 | a = a % b |
**= | 累乗して代入 | a = a ** b |
let a = 10;
a += 5; // a は 15
a -= 3; // a は 12
a *= 2; // a は 24
a /= 4; // a は 6
a %= 4; // a は 2
a **= 3; // a は 8(2 の 3 乗)
複合代入演算子(ビット演算)
| 演算子 | 意味 |
|---|---|
&= | AND して代入 |
|= | OR して代入 |
^= | XOR して代入 |
<<= | 左シフトして代入 |
>>= | 右シフト(符号付き)して代入 |
>>>= | 右シフト(符号なし、JS のみ)して代入 |
文字列にも += が使える
let msg = "Hello";
msg += ", ";
msg += "world!";
// msg は "Hello, world!"
言語別の追加演算子
| 演算子 | 言語 | 意味 |
|---|---|---|
??= | JS / PHP | 左辺が null / undefined のときだけ代入 |
||= | JS / Ruby | 左辺が偽値のときだけ代入 |
&&= | JS | 左辺が真のときだけ右辺で代入 |
.= | PHP | 文字列を連結して代入 |
:= | Python 3.8+ / Go | セイウチ演算子(式の中で代入) |
let user = null;
user ??= { name: "guest" };
// null だったので代入される
let count = 0;
count ||= 10;
// 偽値(0)だったので 10 に上書き
注意点
| 項目 | 説明 |
|---|---|
= と == の取り違い | if (a = 1) は代入してしまい常に真。比較は == / === |
| 整数除算の落とし穴 | 言語によって /= が整数除算になる場合あり(旧 Python 2 など) |
| 不変な値への代入 | JS の const、Java の final 変数には複合代入もエラー |
| 右結合性 | a = b = 0 は右から評価され、両方に 0 が入る |
連鎖代入
多くの言語で複数変数に同じ値をまとめて入れられます。これは = が右結合で、戻り値を持つことで成り立ちます。
let a, b, c;
a = b = c = 0;
// 右から評価:
// 1) c = 0 → 値 0
// 2) b = (c=0) の値 0 → 値 0
// 3) a = (b=...) の値 0
// 結果: a, b, c はすべて 0
ただし参照型を入れるときは要注意。次の例では全ての変数が同じオブジェクトを参照します。
let x, y, z;
x = y = z = {count: 0};
y.count = 5;
console.log(x.count); // 5 (同じオブジェクトを共有)
分割代入(destructuring)
モダンな言語では配列やオブジェクトの要素を1 行で複数変数に代入できる構文があります。
// JavaScript / TypeScript
const [first, second, ...rest] = [1, 2, 3, 4, 5];
// first=1, second=2, rest=[3,4,5]
const {name, age = 20} = {name: "tarou"};
// name="tarou", age=20(既定値)
// 変数の入れ替え(一時変数なし)
let a = 1, b = 2;
[a, b] = [b, a];# Python
first, *rest, last = [1, 2, 3, 4, 5]
# first=1, rest=[2,3,4], last=5
a, b = 1, 2
a, b = b, a # 入れ替え
言語別の代入挙動の違い
| 言語 | = の挙動 |
|---|---|
| JavaScript / TypeScript | 右辺の値を左辺に代入。オブジェクトは参照 |
| Python | 変数は名前バインディング。リスト/辞書は参照 |
| Java / C# | プリミティブは値、参照型は参照 |
| C / C++ | = は値コピー。& でアドレス取得 |
| PHP | 配列は値コピー、オブジェクトは参照 |
| Go | = は代入、:= は宣言+代入(短縮) |
代入式と代入文
C / Java / JavaScript / PHP では = は式として扱われ、戻り値(代入された値)を持ちます。そのため while ((line = readLine()) != null) { ... } のようにループ条件で使えます。一方 Python の = は文で戻り値を持たないため、ループ条件には Python 3.8+ で導入されたセイウチ演算子 := を使います。
# セイウチ演算子(Python 3.8+)
while (chunk := f.read(1024)):
process(chunk)
関連
- 演算子 — 親カテゴリ
- 算術演算子 / 比較演算子 / 論理演算子 / ビット演算子
- 三項演算子 / null 合体演算子 (
??) - const / let / var — 変数宣言
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?