変数
公開日: 2025/06/02
変数とは?プログラミングの基本を理解しよう
はじめに
プログラミングを学び始めた人が最初に出会う概念のひとつが「変数」です。変数を正しく理解することで、コードの可読性や再利用性が向上し、より効率的な開発が可能になります。この記事では、変数の基本から応用までを体系的に解説します。
基本情報・概要
変数とは、**データを一時的に保存するための「名前のついた箱」**です。プログラムの中で数値、文字列、真偽値、配列、オブジェクトなど、さまざまな種類のデータを変数に代入することで、再利用や操作を行いやすくなります。
たとえば以下のように使われます:
let score = 100; const userName = "Taro";
やlet
は変数の宣言キーワードconst
やscore
は変数名userName
や100
は代入する値(リテラル)"Taro"
比較・分類・特徴の表形式まとめ
項目 | 内容 |
---|---|
宣言キーワード | , , (言語により異なる) |
スコープ | ローカルスコープ、グローバルスコープ |
データ型 | 数値、文字列、配列、オブジェクト、真偽値など |
再代入の可否 | は可能、 は不可 |
型の有無 | JavaScript: 動的型付け、TypeScript: 静的型付け |
よりもvar
やlet
の使用が推奨されるのは、スコープと再代入の挙動が明確だからです。const
深掘り解説
スコープ(scope)とは?
スコープとは、変数が参照可能な範囲のことです。たとえば、関数内で宣言された変数はその関数の中でしか使えません(ローカルスコープ)。
function greet() { let message = "Hello"; console.log(message); // OK } console.log(message); // エラー
ホイスティングと変数の初期化
JavaScriptでは変数がスコープの先頭に持ち上げられる現象「ホイスティング」が起こりますが、
let
や const
を使えばこれを抑制できます。
型注釈(Type Annotation)
TypeScriptなど静的型付け言語では、変数に型を指定することで安全性と可読性が向上します。
let age: number = 25;
応用・発展的な使い方
変数の分割代入(Destructuring)
const user = { name: "Hanako", age: 30 }; const { name, age } = user;
再帰やクロージャと変数
JavaScriptではクロージャにより、関数外のスコープから変数を「覚えておく」ことができます。
function counter() { let count = 0; return () => ++count; } const increment = counter(); console.log(increment()); // 1 console.log(increment()); // 2
よくある誤解と注意点
は「定数」ではなく、「再代入できない変数」。オブジェクトのプロパティは変更可能。const
とlet
の違いを理解せずに使うと、バグの原因になる。var
- 型を意識しないまま使うと意図しない挙動を引き起こす(特に暗黙の型変換がある言語)。
まとめ
変数はプログラミングにおける最も基本的な要素のひとつです。スコープ、型、代入方法などの正しい理解が、堅牢で読みやすいコードを書くための土台になります。まずはシンプルな使い方から始め、徐々にクロージャや分割代入などの応用も取り入れていきましょう。