Topiqlo ロゴ

変数

公開日: 2025/06/02

変数とは?プログラミングの基本を理解しよう

はじめに

プログラミングを学び始めた人が最初に出会う概念のひとつが「変数」です。変数を正しく理解することで、コードの可読性や再利用性が向上し、より効率的な開発が可能になります。この記事では、変数の基本から応用までを体系的に解説します。

基本情報・概要

変数とは、**データを一時的に保存するための「名前のついた箱」**です。プログラムの中で数値、文字列、真偽値、配列、オブジェクトなど、さまざまな種類のデータを変数に代入することで、再利用や操作を行いやすくなります。

たとえば以下のように使われます:

let score = 100;
const userName = "Taro";
  • let
    const
    は変数の宣言キーワード
  • score
    userName
    は変数名
  • 100
    "Taro"
    は代入する値(リテラル)

比較・分類・特徴の表形式まとめ

項目内容
宣言キーワード
var
,
let
,
const
(言語により異なる)
スコープローカルスコープ、グローバルスコープ
データ型数値、文字列、配列、オブジェクト、真偽値など
再代入の可否
let
は可能、
const
は不可
型の有無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
    の違いを理解せずに使うと、バグの原因になる。
  • 型を意識しないまま使うと意図しない挙動を引き起こす(特に暗黙の型変換がある言語)。

まとめ

変数はプログラミングにおける最も基本的な要素のひとつです。スコープ、型、代入方法などの正しい理解が、堅牢で読みやすいコードを書くための土台になります。まずはシンプルな使い方から始め、徐々にクロージャや分割代入などの応用も取り入れていきましょう。