第3回 JavaScriptを学ぼう: 変数とデータ型

執筆・編集 板浪 雅樹2005年から WEB 業界一筋。500サイト超を手がける SEO・WordPress のエキスパート。「公開後こそ本番」を掲げ、データ分析とユーザー視点で成果を引き出す運用を提案。

2005年に制作会社へ入社後、プログラマーからキャリアをスタート。サーバー構築・データベース設計で培った技術を強みに、WordPress テーマ/プラグイン開発やサイト移行の難案件を多数担当してきました。
2010年以降は SEO エンジニアとしても活動領域を拡大。コンテンツ設計・内部リンク最適化・高速化チューニングにより、競合の激しいビッグキーワードで上位獲得を実現してきました。
現在は TREVO のウェブディレクターとして、要件定義から運用改善まで一気通貫でリード。AI ライティングや GA4/Looker Studio を活用したレポーティング手法を開発し、「数字で説明できるサイト運用」をポリシーにクライアントの ROI 最大化を支援しています。
趣味/強み:筋トレとランニングで日々の集中力をキープ。複雑な課題を“仕組み”で解決するのが得意。
モットー:「サイトは資産。改善を止めた瞬間から価値は目減りする」
SNS:x(旧 Twitter)@TREVO_WEB
JavaScriptを理解するための第一歩として、変数とデータ型の概念をしっかりと押さえることが重要です。
本記事では、JavaScriptにおける変数の宣言と代入、さまざまなデータ型の種類とその特徴、そして型の扱い方について詳しく解説します。

変数とデータ型とは?
変数
データを一時的に保存しておくための「箱」のようなものです。プログラムが実行される中で、さまざまなデータを操作する必要がありますが、これらのデータを格納しておくために変数が使われます。
データ型
変数に格納されるデータの種類を指します。JavaScriptでは、変数にさまざまな種類のデータを格納でき、そのデータがどのような型であるかを知ることで、適切に操作することが可能になります。
関数とは
JavaScriptのプログラミングにおいて、変数と関数は非常に重要な要素です。それぞれの役割や使い方を理解することで、より効果的にコードを書くことができます。ここでは、変数と関数について詳しく説明します。
関数とは、一連の処理をまとめたコードのブロックであり、特定のタスクを実行するために使います。関数を使うことで、コードを再利用可能にしたり、プログラムを整理して見やすくすることができます。
関数の定義
JavaScriptでは、function キーワードを使って関数を定義します。関数には、0個以上の引数を渡すことができ、処理結果を返すこともできます。
function greet(name) {
return "Hello, " + name;
}上記の例では、greet という関数を定義し、name という引数を受け取って、"Hello, " という文字列と結合した結果を返しています。
関数の呼び出し
関数は定義しただけでは実行されません。関数を実行するには、その関数を「呼び出す」必要があります。
let message = greet("Alice");
console.log(message); // "Hello, Alice"この例では、greet 関数を "Alice" という引数で呼び出し、その結果を message という変数に格納しています。
関数の戻り値
関数が return 文を使って返す値を戻り値と呼びます。関数は、return 文がない場合、デフォルトで undefined を返します。
function add(a, b) {
return a + b; // 関数がa + bの結果を返す
}
let result = add(5, 3);
console.log(result); // 8関数のスコープ
関数内で宣言された変数は、その関数の中でのみアクセス可能な関数スコープを持ちます。外部から関数内の変数にアクセスすることはできません。
ブロックスコープとは
ブロックスコープとは、JavaScriptにおいて、変数が特定のコードブロック({} で囲まれた部分)内でのみ有効であるというスコープの概念です。ブロックスコープを持つ変数は、そのブロック外ではアクセスできません。
ブロックスコープは、主に let と const で宣言された変数に適用されます。var で宣言された変数にはブロックスコープが適用されず、関数スコープやグローバルスコープになります。
変数の宣言と代入: JavaScriptにおける基本の構文
JavaScriptで変数を宣言し、値を代入する方法は非常にシンプルです。まずは、最も基本的な宣言と代入の例を見てみましょう。
let myVariable; // 変数の宣言
myVariable = 10; // 変数に値を代入上記のコードでは、まず myVariable という名前の変数を宣言し、次にその変数に 10 という数値を代入しています。
また、宣言と代入を同時に行うことも可能です。
これで、変数 myVariable に数値 10 が格納されました。
変数の種類: var, let, constの違いと使い分け
JavaScriptには変数を宣言する方法として、var, let, const の3種類があります。それぞれの違いを理解することは、JavaScriptを正しく使うために重要です。
var
var は、古いバージョンのJavaScriptから存在する変数の宣言方法です。var で宣言された変数は、関数スコープを持ちます。つまり、関数内で宣言された var 変数は、その関数全体で利用可能です。
function example() {
var x = 10;
if (true) {
var x = 20; // 同じスコープ内で再宣言される
console.log(x); // 20
}
console.log(x); // 20
}
example();この例では、if ブロック内で再宣言された x が外の x にも影響を与えています。
let
let は、ECMAScript 6 (ES6) で導入された変数宣言の方法です。let で宣言された変数は、ブロックスコープを持ちます。つまり、if や for などのブロック内で宣言された let 変数は、そのブロック内でのみ有効です。
function example() {
let x = 10;
if (true) {
let x = 20; // 新しいスコープで宣言される
console.log(x); // 20
}
console.log(x); // 10
}
example();この例では、if ブロック内の x はブロック外の x に影響を与えていません。
const
const もES6で導入された変数宣言の方法で、再代入ができない定数を宣言するために使用されます。const で宣言された変数は、let と同様にブロックスコープを持ちますが、一度値を設定するとその値を変更することができません。
再代入ができない定数(const)は、コードの安全性、可読性、予測可能性を向上させるために非常に重要です。プログラム内で変更されるべきではない値を const で宣言することで、バグを防ぎ、他の開発者に意図を明確に伝えることができます。これにより、より堅牢で理解しやすいコードを書くことが可能になります。
const MAX_USERS = 100;このようなコードでは、MAX_USERS がプログラムの他の部分で変更されないことが明らかになります。
const API_KEY = "your-api-key-here";
// 途中でAPI_KEYを変更しようとするとエラーが発生し、バグを未然に防ぐconst PI = 3.14159;
// PIが変更されると、円の計算に問題が発生する可能性があるが、constを使用することでそれを防げるデータ型の基礎: プリミティブ型とオブジェクト型
JavaScriptのデータ型は大きく分けて2種類あります: プリミティブ型とオブジェクト型です。
- プリミティブ型
単一の値を持つデータ型で、基本的なデータを表現します。 - オブジェクト型
複数のプロパティやメソッドを持つ複雑なデータ構造を表現します。
プリミティブ型データ型の詳細解説
JavaScriptには以下の6つのプリミティブ型データ型があります。
数値型 (Number)
Number 型は整数や浮動小数点数を表します。
let age = 30; // 整数
let price = 99.99; // 浮動小数点数文字列型 (String)
String 型はテキストデータを表します。文字列はシングルクォート(')かダブルクォート(")で囲んで表現します。
let name = "John Doe";
let greeting = 'Hello, World!';真偽値型 (Boolean)
Boolean 型は true または false のいずれかの値を持つデータ型です。
let isAdult = true;
let hasChildren = false;未定義 (Undefined)
Undefined 型は、変数が宣言されたが値が代入されていない状態を表します。
let myVariable;
console.log(myVariable); // undefinedNull
Null 型は明示的に「値がない」ことを表すために使用されます。
let selectedColor = null;シンボル (Symbol)
Symbol 型はES6で導入された新しいプリミティブ型で、一意の識別子を生成するために使用されます。
let sym = Symbol('description');オブジェクト型データ型の基礎
オブジェクト型は、複数のプロパティやメソッドを持つ複雑なデータ構造を表します。JavaScriptでは、以下のオブジェクト型がよく使われます。
オブジェクト (Object)
Object はキーと値のペアを持つデータ構造です。
let person = {
name: 'John',
age: 30
};配列 (Array)
配列(Array)は、複数の値を一つの変数に格納し、それらの値を操作するために使用されるデータ構造です。JavaScriptで配列を使用することで、関連するデータをまとめて管理し、繰り返し処理やデータの検索・追加・削除を容易に行うことができます。
let colors = ['red', 'green', 'blue'];
// 1つ目の要素にアクセス
console.log(colors[0]); // 'red'
// 2つ目の要素にアクセス
console.log(colors[1]); // 'green'
// 3つ目の要素にアクセス
console.log(colors[2]); // 'blue'関数 (Function)
Function はコードの再利用を目的とした、手続きや処理を定義するためのデータ構造です。
function greet(name) {
return 'Hello, ' + name;
}動的型付けと型変換: JavaScriptの特徴を理解しよう
JavaScriptは動的型付けの言語であり、変数の型は実行時に自動的に決定されます。つまり、同じ変数に異なる型の値を代入することが可能です。
let data = 10; // Number型
data = 'Ten'; // String型JavaScriptでは、明示的な型変換と暗黙的な型変換が頻繁に行われます。
明示的な型変換
明示的な型変換は、開発者が意図的に型を変換する方法です。
明示的な型変換は、データ型の一貫性を保ち、プログラムの動作を予測可能にするために非常に重要です。ユーザー入力の処理や比較、APIデータの処理など、さまざまな状況で使用され、意図しない型変換によるバグを防ぐ手段として役立ちます。JavaScriptの柔軟性を活かしつつ、安全で予測可能なコードを書くために、明示的な型変換を適切に使用しましょう。
let num = 10;
let str = String(num); // Number型からString型に変換暗黙的な型変換
暗黙的な型変換は、JavaScriptが自動的に行う型変換です。
let result = '5' + 10; // '5'がNumber型に変換されて'510'となる型チェックの方法: typeof演算子とinstanceof演算子
JavaScriptでは、変数のデータ型を確認するために typeof 演算子と instanceof 演算子が使われます。
typeof演算子
typeof 演算子は、変数のデータ型を返します。
console.log(typeof 10); // "number"
console.log(typeof 'Hello'); // "string"instanceof演算子
instanceof 演算子は、オブジェクトが特定のクラスのインスタンスであるかどうかを確認します。
let person = {};
console.log(person instanceof Object); // true変数とデータ型のまとめ: コード例で確認しよう
最後に、変数とデータ型について学んだ内容をコード例で振り返りましょう。
let name = "John Doe"; // String型
let age = 30; // Number型
let isAdult = true; // Boolean型
let colors = ['red', 'green', 'blue']; // Array (Object)型
let person = { name: 'John', age: 30 }; // Object型
console.log(typeof name); // "string"
console.log(typeof age); // "number"
console.log(typeof isAdult); // "boolean"
console.log(typeof colors); // "object"
console.log(typeof person); // "object"この例では、さまざまなデータ型の変数を宣言し、その型を typeof 演算子で確認しています。
まとめ
本記事では、JavaScriptの変数とデータ型について基本的な概念から詳細な説明までを行いました。変数の宣言方法やデータ型の使い分けを理解することで、JavaScriptのプログラミングがよりスムーズに行えるようになります。次回は、条件文やループといった制御構文について解説していきます。
関連記事
大阪のホームページ制作会社TREVOでは、最短2日で仮サイトを公開できるスピード対応や、SEO対策に強いオリジナルデザインの制作サービスを提供しています。








