- Day 3:データ型 ― 「値の種類」を意識してみる日
- データ型とは ― 「値の種類」を表すラベル
- 文字列(String)― 文字や文章を表す型
- 数値(Number)― 計算に使う数字の型
- 真偽値(Boolean)― true / false の二択
- null ― 「意図的に何も入っていない」ことを表す値
- undefined ― 「まだ値が入っていない」状態
- typeof ― データ型を調べるための道具
- 実践:さまざまなデータの型を調べる
- 練習用テンプレートコード ― 自分で値を差し替えて遊ぶ
- セキュリティ視点のひとこと
- Day 3のまとめ ― 「値の種類」を知ることで、コードがぐっとクリアになる
- Day 3:データ型 ― ユーザー情報の「型」を意識してみる
- データ型の基本をもう一度整理する
- 文字列(String)― ユーザー名やメールアドレスなど
- 数値(Number)― 年齢やポイントなど
- 真偽値(Boolean)― 会員かどうか、ログイン中かどうか
- null と undefined ― 「まだない」状態をどう表すか
- typeof ― ユーザー情報の型をチェックする道具
- ミニ課題:ユーザー情報の型チェックプログラム
- 練習用テンプレート:自分のユーザー情報に書き換えてみる
- セキュリティ視点のひとこと
- Day 3のまとめ ― 型を意識すると、ユーザー情報がクリアに見えてくる
Day 3:データ型 ― 「値の種類」を意識してみる日
JavaScript入門90日コースのDay 3では、「データ型」をテーマに進めていきます。 昨日までで「変数」という箱を手に入れましたが、今日はその箱の中に入る「中身の種類」を意識してみる回です。 文字なのか数字なのか、真偽値なのか、まだ何も入っていないのか――それを理解しておくと、後のエラー予防にかなり効いてきます。
データ型とは ― 「値の種類」を表すラベル
なぜ種類を意識する必要があるのか
データ型(データタイプ)は、ざっくり言うと「値の種類」を表すラベルです。
- 数字なのか
- 文字列なのか
- true / false なのか
- まだ値がない状態なのか
これを意識しておくと、
- 計算していい値なのか
- 文字として扱うべきなのか
- 条件分岐に使えるのか
といった判断がしやすくなり、「あれ、なんでこの計算結果がおかしいんだ?」というトラブルを減らせます。
文字列(String)― 文字や文章を表す型
「クォートで囲まれたものは文字列」
JavaScriptでは、文字や文章を扱うときに「文字列(String)」という型を使います。 書き方のルールはシンプルで、「クォート(引用符)で囲む」だけです。
- ダブルクォート:
"こんにちは" - シングルクォート:
'こんにちは'
どちらを使っても文字列になります。
// 文字列(String)の例です
const greeting = "こんにちは";
const name = "太郎";
const message = 'JavaScriptを勉強中です';
// コンソールに表示してみます
console.log(greeting); // こんにちは
console.log(name); // 太郎
console.log(message); // JavaScriptを勉強中です
JavaScript文字列同士をつなげる(連結)
文字列は + を使ってつなげることができます。
// 文字列をつなげて文章を作る例です
const greeting = "こんにちは、";
const name = "太郎";
const end = "さん!";
const fullMessage = greeting + name + end;
console.log(fullMessage); // こんにちは、太郎さん!
JavaScriptここで大事なのは、「クォートで囲まれているものは数字に見えても文字列」という点です。
const numText = "100"; // 見た目は数字ですが、型は文字列です
JavaScript数値(Number)― 計算に使う数字の型
整数も小数もまとめて「Number」
JavaScriptでは、整数も小数も同じ「Number」型として扱います。
// 数値(Number)の例です
const age = 30; // 整数
const price = 1980; // 整数
const taxRate = 0.1; // 小数
console.log(age); // 30
console.log(price); // 1980
console.log(taxRate); // 0.1
JavaScript数値同士の計算
数値は、足し算・引き算・掛け算・割り算などの計算に使えます。
// 数値の計算例です
const price = 2000;
const taxRate = 0.1;
// 税額を計算
const tax = price * taxRate;
// 合計金額を計算
const total = price + tax;
console.log("税額:" + tax); // 税額:200
console.log("合計金額:" + total); // 合計金額:2200
JavaScriptここで注意したいのは、「文字列と数値を足すと、文字列として扱われる」ことです。
const num = 100; // 数値
const text = "100"; // 文字列
console.log(num + num); // 200(数値同士の足し算)
console.log(num + text); // "100100"(文字列として連結されます)
JavaScript真偽値(Boolean)― true / false の二択
条件分岐の主役になる型
真偽値(Boolean)は、true か false のどちらかだけを取る型です。 「〜かどうか」を表現するときに使います。
// 真偽値(Boolean)の例です
const isAdult = true; // 大人かどうか
const hasTicket = false; // チケットを持っているかどうか
console.log(isAdult); // true
console.log(hasTicket); // false
JavaScript条件分岐(if文)でよく使われますが、Day 3では「型としてこういうものがある」と知っておくだけで十分です。
null ― 「意図的に何も入っていない」ことを表す値
「空っぽ」を明示するための特別な値
null は、少し特殊な値で、「意図的に何も入っていない」ことを表します。
- まだデータが決まっていない
- あえて「空っぽ」にしておきたい
といったときに使います。
// null の例です
let selectedItem = null; // まだ何も選ばれていない状態
console.log(selectedItem); // null
JavaScript「箱はあるけれど、中身は空っぽ」というイメージです。
undefined ― 「まだ値が入っていない」状態
宣言しただけで値を入れていないときのデフォルト
undefined は、「変数は存在するけれど、まだ値が入っていない」状態を表します。
// undefined の例です
let value; // 値を代入していない
console.log(value); // undefined
JavaScriptまた、明示的に undefined を代入することもできますが、通常は「まだ値を入れていないときに自動的になるもの」として覚えておくと分かりやすいです。
typeof ― データ型を調べるための道具
「この値は何型?」を教えてくれる演算子
typeof は、変数や値が「どんな型なのか」を調べるための演算子です。 コンソールで型を確認するのにとても便利です。
// typeof の基本的な使い方です
console.log(typeof "こんにちは"); // "string"
console.log(typeof 123); // "number"
console.log(typeof true); // "boolean"
let value;
console.log(typeof value); // "undefined"
let empty = null;
console.log(typeof empty); // "object"(歴史的な仕様でこうなっています)
JavaScript最後の null が "object" と返ってくるのは、JavaScriptの歴史的な仕様によるものです。 「typeof null は ‘object’ になる」と覚えておくと、後で混乱しにくくなります。
実践:さまざまなデータの型を調べる
ステップ1:ブラウザのコンソールを開く
Day 1・Day 2と同じように、ブラウザの開発者ツールからコンソールを開きます。
- ブラウザで適当なWebページを開く
- 開発者ツールを開く(
F12やCtrl + Shift + Iなど) - 「Console」タブをクリックする
ステップ2:いろいろな値を用意してみる
// ==============================
// Day 3:データ型を調べる練習
// ==============================
// 文字列(String)
const text = "JavaScriptを勉強中";
// 数値(Number)
const count = 3;
const price = 1980;
// 真偽値(Boolean)
const isAdult = true;
const hasTicket = false;
// null
const emptyValue = null;
// undefined(宣言だけして値を入れていない)
let notAssigned;
// typeof を使って、それぞれの型を調べてみます
console.log("text の型:" + typeof text); // "string"
console.log("count の型:" + typeof count); // "number"
console.log("price の型:" + typeof price); // "number"
console.log("isAdult の型:" + typeof isAdult); // "boolean"
console.log("hasTicket の型:" + typeof hasTicket); // "boolean"
console.log("emptyValue の型:" + typeof emptyValue); // "object"(null はこう返ります)
console.log("notAssigned の型:" + typeof notAssigned); // "undefined"
JavaScriptコンソールに表示される結果を見ながら、「この値はこの型なんだな」と感覚をつかんでいきましょう。
練習用テンプレートコード ― 自分で値を差し替えて遊ぶ
コメント付きテンプレート
以下は、初心者向けにコメントを多めに入れたテンプレートです。 そのままコンソールに貼り付けて、値を差し替えながら練習してみてください。
// ==============================
// Day 3:データ型 練習テンプレート
// ==============================
// 1. いろいろな値を用意してみる
// 文字列(String)
// クォートで囲まれたものは文字列になります
const userName = "太郎";
const greeting = "こんにちは";
// 数値(Number)
// 整数も小数も Number 型です
const age = 25;
const height = 170.5;
// 真偽値(Boolean)
// true / false の二択です
const isStudent = true;
const hasJob = false;
// null
// 意図的に「何も入っていない」ことを表します
const favoriteFood = null;
// undefined
// 宣言しただけで値を入れていないときの状態です
let futurePlan;
// 2. typeof で型を調べてみる
console.log("=== typeof の結果 ===");
console.log("userName の型:" + typeof userName); // "string"
console.log("greeting の型:" + typeof greeting); // "string"
console.log("age の型:" + typeof age); // "number"
console.log("height の型:" + typeof height); // "number"
console.log("isStudent の型:" + typeof isStudent); // "boolean"
console.log("hasJob の型:" + typeof hasJob); // "boolean"
console.log("favoriteFood の型:" + typeof favoriteFood); // "object"(null はこう返ります)
console.log("futurePlan の型:" + typeof futurePlan); // "undefined"
// 3. 自分で値を差し替えてみましょう
// 下の行を、自分の情報や好きな値に書き換えて練習してみてください
const city = "東京";
const score = 95;
const isHappy = true;
console.log("city の型:" + typeof city); // "string"
console.log("score の型:" + typeof score); // "number"
console.log("isHappy の型:" + typeof isHappy); // "boolean"
JavaScriptこのテンプレートをベースに、
- 文字列を自分の名前やメッセージに変える
- 数値を年齢や点数に変える
- 真偽値を「〜かどうか」の情報に変える
といった遊び方をすると、データ型の感覚がぐっと身近になります。
セキュリティ視点のひとこと
データ型の話は一見セキュリティと関係なさそうですが、「型を意識すること」は安全なコードを書くうえでも重要です。
- 数値だと思っていたものが実は文字列で、意図しない計算結果になる
undefinedやnullをうまく扱えず、エラーや予期せぬ挙動につながる
こうした問題は、攻撃の入り口になったり、バグとして悪用されることもあります。 「今扱っている値は何型なのか」を常に意識するクセをつけておくと、後々セキュアなコードを書きやすくなります。
Day 3のまとめ ― 「値の種類」を知ることで、コードがぐっとクリアになる
Day 3では、次のポイントを押さえました。
- データ型は「値の種類」を表すラベル
- 文字列(String)はクォートで囲まれた文字や文章
- 数値(Number)は整数・小数を含む数字で、計算に使える
- 真偽値(Boolean)は true / false の二択
nullは「意図的に空っぽ」、undefinedは「まだ値が入っていない」状態typeofを使うと、値の型を簡単に調べられる
変数という「箱」に続いて、その中身である「値の種類」を意識できるようになると、コードの見え方が一段クリアになります。
Day 3:データ型 ― ユーザー情報の「型」を意識してみる
JavaScript入門90日コースのDay 3では、「データ型」をテーマに、ミニ課題として「ユーザー情報の型チェックプログラム」を作っていきます。 名前や年齢、会員かどうか、といったユーザー情報を変数に入れ、その「型」を typeof で調べることで、値の種類を意識する練習をしていきます。
データ型の基本をもう一度整理する
値には「種類」がある
プログラムの中で扱う値には、ざっくり次のような種類があります。
- 文字列(String):文字や文章
- 数値(Number):計算に使う数字
- 真偽値(Boolean):
true/falseの二択 - null:意図的に「何も入っていない」状態
- undefined:まだ値が入っていない状態
そして、これらの「型」を調べるための道具が typeof です。
文字列(String)― ユーザー名やメールアドレスなど
クォートで囲まれたものは文字列
ユーザー情報の中で、文字列になるものはたくさんあります。
- 名前
- メールアドレス
- 住所
- コメント
JavaScriptでは、文字列はクォート(" または ')で囲んで書きます。
// ユーザー名やメールアドレスなどの文字列の例です
const userName = "山田太郎"; // ユーザー名
const email = "[email protected]"; // メールアドレス
const address = "東京都新宿区"; // 住所
console.log(userName);
console.log(email);
console.log(address);
JavaScript数値(Number)― 年齢やポイントなど
計算に使う数字は Number 型
ユーザー情報の中で、数値になるものもよくあります。
- 年齢
- 所持ポイント
- 購入回数
// 数値(Number)の例です
const age = 28; // 年齢
const points = 1200; // 所持ポイント
const purchaseCount = 5; // 購入回数
console.log(age);
console.log(points);
console.log(purchaseCount);
JavaScript真偽値(Boolean)― 会員かどうか、ログイン中かどうか
true / false の二択で表す情報
ユーザー情報には、「〜かどうか」という形のものも多いです。
- 会員かどうか
- メール配信を希望しているかどうか
- ログイン中かどうか
こうした情報は、真偽値(Boolean)で表します。
// 真偽値(Boolean)の例です
const isMember = true; // 会員かどうか
const wantsNewsletter = false; // メルマガ希望かどうか
const isLoggedIn = true; // ログイン中かどうか
console.log(isMember);
console.log(wantsNewsletter);
console.log(isLoggedIn);
JavaScriptnull と undefined ― 「まだない」状態をどう表すか
null:意図的に「空っぽ」にしておく
null は、「意図的に何も入っていない」ことを表す特別な値です。
- まだユーザーの住所が登録されていない
- プロフィール画像が未設定
といったときに使えます。
// null の例です
const profileImage = null; // プロフィール画像が未設定の状態
console.log(profileImage); // null
JavaScriptundefined:宣言しただけで値が入っていない
undefined は、「変数はあるけれど、まだ値が入っていない」状態を表します。
// undefined の例です
let phoneNumber; // 電話番号を後で入れる予定
console.log(phoneNumber); // undefined
JavaScripttypeof ― ユーザー情報の型をチェックする道具
「この値は何型?」を教えてくれる
typeof は、変数や値の「型」を調べるための演算子です。 ユーザー情報の型チェックプログラムでは、この typeof が主役になります。
// typeof の基本的な使い方です
console.log(typeof "山田太郎"); // "string"
console.log(typeof 28); // "number"
console.log(typeof true); // "boolean"
let value;
console.log(typeof value); // "undefined"
const empty = null;
console.log(typeof empty); // "object"(null は歴史的な理由でこう返ります)
JavaScriptミニ課題:ユーザー情報の型チェックプログラム
ここからがDay 3のミニ課題です。 「ユーザー情報」をいくつか用意して、その型を typeof で調べてコンソールに表示するプログラムを作っていきます。
ステップ1:ユーザー情報を変数にまとめる
まずは、ユーザー情報を変数として用意します。
// ==============================
// Day 3 ミニ課題:ユーザー情報の型チェックプログラム
// ==============================
// ユーザー名(文字列)
const userName = "山田太郎";
// 年齢(数値)
const age = 28;
// 会員かどうか(真偽値)
const isMember = true;
// メールアドレス(文字列)
const email = "[email protected]";
// プロフィール画像のURL(まだ未設定なので null)
const profileImageUrl = null;
// 電話番号(後で登録する予定なので undefined のまま)
let phoneNumber; // 値を代入していないので、現時点では undefined になります
JavaScriptステップ2:それぞれの型を typeof で調べて表示する
次に、typeof を使って各変数の型を調べ、コンソールに分かりやすく表示します。
// ユーザー情報の型をチェックして表示する
console.log("=== ユーザー情報の型チェック ===");
// 文字列(String)
console.log("userName の値:" + userName);
console.log("userName の型:" + typeof userName); // "string"
console.log("email の値:" + email);
console.log("email の型:" + typeof email); // "string"
// 数値(Number)
console.log("age の値:" + age);
console.log("age の型:" + typeof age); // "number"
// 真偽値(Boolean)
console.log("isMember の値:" + isMember);
console.log("isMember の型:" + typeof isMember); // "boolean"
// null
console.log("profileImageUrl の値:" + profileImageUrl);
console.log("profileImageUrl の型:" + typeof profileImageUrl); // "object"(null はこう返ります)
// undefined
console.log("phoneNumber の値:" + phoneNumber);
console.log("phoneNumber の型:" + typeof phoneNumber); // "undefined"
JavaScriptコンソールに表示される結果を見ながら、「この情報はこの型なんだな」と確認していきます。
練習用テンプレート:自分のユーザー情報に書き換えてみる
コメント付きテンプレートコード
以下は、初心者向けにコメントを多めに入れたテンプレートです。 ブラウザのコンソールにそのまま貼り付けて、自分の情報に書き換えながら練習してみてください。
// ==============================
// Day 3:ユーザー情報の型チェックプログラム テンプレート
// ==============================
// 1. ユーザー情報を変数として用意する
// ユーザー名(自分の名前に書き換えてOKです)
const userName = "山田太郎";
// 年齢(数字だけを書きます)
const age = 28;
// 会員かどうか(true か false のどちらか)
const isMember = true;
// メールアドレス(架空のものでもOKです)
const email = "[email protected]";
// プロフィール画像のURL(まだ未設定なので null にしておきます)
const profileImageUrl = null;
// 電話番号(後で登録する予定なので、今は値を入れません)
let phoneNumber; // 値を代入していないので undefined になります
// 2. typeof を使って、それぞれの型をチェックする
console.log("=== ユーザー情報の型チェック ===");
// ユーザー名
console.log("userName の値:" + userName);
console.log("userName の型:" + typeof userName); // "string"
// 年齢
console.log("age の値:" + age);
console.log("age の型:" + typeof age); // "number"
// 会員フラグ
console.log("isMember の値:" + isMember);
console.log("isMember の型:" + typeof isMember); // "boolean"
// メールアドレス
console.log("email の値:" + email);
console.log("email の型:" + typeof email); // "string"
// プロフィール画像URL
console.log("profileImageUrl の値:" + profileImageUrl);
console.log("profileImageUrl の型:" + typeof profileImageUrl); // "object"(null はこう返ります)
// 電話番号
console.log("phoneNumber の値:" + phoneNumber);
console.log("phoneNumber の型:" + typeof phoneNumber); // "undefined"
// 3. 自分の情報に書き換えて練習してみましょう
// 例:別のユーザー情報を追加してみる
const anotherUserName = "佐藤花子";
const anotherAge = 32;
const anotherIsMember = false;
console.log("anotherUserName の値:" + anotherUserName);
console.log("anotherUserName の型:" + typeof anotherUserName); // "string"
console.log("anotherAge の値:" + anotherAge);
console.log("anotherAge の型:" + typeof anotherAge); // "number"
console.log("anotherIsMember の値:" + anotherIsMember);
console.log("anotherIsMember の型:" + typeof anotherIsMember); // "boolean"
JavaScriptこのテンプレートをベースに、
- ユーザー名や年齢を自分のものに変える
- 会員フラグやメールアドレスを変えてみる
- 新しい項目(ポイント、ログイン状態など)を追加して型をチェックする
といった練習をすると、データ型の感覚がぐっと身近になります。
セキュリティ視点のひとこと
ユーザー情報を扱うコードは、セキュリティの観点でもとても重要です。
- 型を誤って扱うと、予期せぬ挙動やバグにつながる
undefinedやnullをうまく扱えないと、エラーが起きて情報漏えいのきっかけになることもある
「この値は本当に文字列なのか?」「数値として扱って大丈夫か?」といったチェックをこまめに行うことは、安全なコードを書くうえでも大切です。 Day 3のミニ課題は、その第一歩として「型を意識する」練習になっています。
Day 3のまとめ ― 型を意識すると、ユーザー情報がクリアに見えてくる
Day 3では、次のポイントを押さえました。
- 文字列・数値・真偽値・null・undefined といった基本的なデータ型
- ユーザー情報の中で、それぞれの型がどこに使われるか
typeofを使って、値の型を簡単にチェックできること- ミニ課題として、ユーザー情報の型チェックプログラムを作ったこと
変数という「箱」に続いて、その中身である「値の種類」を意識できるようになると、コードの見え方が一段クリアになります。
