1. 作品が 3 件ある標準ケース
  2. 別の名前で作品 1 件
  3. 作品が 0 件のとき
  4. 名前が空文字で作品も 0 件のとき
コース一覧
JavaScript入門:コードを動かす
let と const を使い分ける

JavaScript入門:コードを動かす

HTML に JavaScript を読み込むところから始め、コンソール、文字列と数値、let と const、データ型、型変換、比較・論理・三項・null 合体演算子を学ぶ全 23 レッスン(335 分)の入門コースです。最後は、変数と式を使ってプロフィールの見出し用の値を組み立てます。if 文、配列とループ、DOM 操作は後続コースで扱います。

1
はじめての JavaScript
01. HTML に JavaScript を読み込む5分
02. console.log で表示する15分
03. 文字列を連結する15分
04. 四則演算15分
05. コメントで意図を残す15分
06. エラーを読んでみる15分
07. つくる 起動メッセージ20分
08. 第1章まとめクイズ10分
2
変数とデータ型
01. let と const を使い分ける15分
02. typeof で型を調べる15分
03. 型を変換する15分
04. 真偽値と falsy な値15分
05. null と undefined を見分ける15分
06. テンプレートリテラル15分
07. つくる プロフィールを変数にする20分
08. 第2章まとめクイズ10分
3
演算子と式
01. 比較演算子と ===15分
02. 論理演算子と短絡評価15分
03. 三項演算子で簡潔に15分
04. ?? で既定値を用意する15分
05. 演算子の優先順位15分
06. つくる 表示名を決める20分
07. 第3章まとめクイズ10分

let と const を使い分ける

let と const
解説

このレッスンで分かること

  • const は再代入できない宣言、let は再代入できる宣言です
  • 迷ったらまず const で書き、書き換えが必要になったときだけ let にします

同じ文字を 5 か所に書いてしまう

第1章では console.log("山田 太郎") のように、値を直接書いていました。名前を 5 か所で表示するなら、同じ文字列を 5 回書くことになります。表記を直したくなった日には 5 か所すべてを探して回ることになり、1 か所でも取りこぼすと表示がちぐはぐになります。

変数を使うと、値に名前を付けて 1 か所で管理できます。宣言に使うキーワードは const と let の 2 つです。

JavaScript

const author = "山田 太郎"; const heading = "作品一覧"; console.log(author); console.log(heading);

const 名前 = 値; が宣言の形です。等号 = は「等しい」ではなく「右の値を左の名前に入れる」という意味を持ちます。数学の記号とは役割が違うので、最初のうちは「author に 山田 太郎 を入れる」と声に出して読むと混乱しません。

まず const で書く

const は再代入できない宣言です。一度値を入れたら、その名前に別の値を入れ直せません。

JavaScript

const author = "山田 太郎"; author = "佐藤 花子"; // TypeError: Assignment to constant variable.

不便に見えますが、読むときはむしろ楽になります。const と書いてあれば「この名前の中身は最後まで変わらない」と分かるので、途中で書き換わる可能性を追いかけずに読み進められます。

const には、宣言と同時に値を入れなければならないという決まりもあります。const bio; のように値を省くと SyntaxError になります。

書き換えるときだけ let

後から値を入れ直したい場面では let を使います。

JavaScript

let status = "下書き"; status = "公開中"; let views = 100; views = views + 1;

2 つ目の形は、今の値をもとに新しい値を作って同じ名前に入れ直す書き方です。右側が先に計算され、その結果が左の名前に入ります。let は初期値なしでも宣言できますが、値を入れる前に読み出すと undefined になります。

キーワード再代入使いどころ
constできない既定でこちらを使う
letできる途中で書き換えるときだけ
解説

判断の順番 まず const で書きます。実行して「再代入できない」と言われたら、そこではじめて let に変えます。この順番なら、let は本当に必要な場所だけに残ります。

よくある間違い

書き換えるつもりの変数を const のままにしてしまうのが 1 つ目です。

JavaScript

const greeting = "こんにちは"; greeting = greeting + " 山田さん"; // TypeError

let greeting = "こんにちは"; に直します。

2 つ目は、代入したいだけなのに 2 回目にも let を書いてしまうケースです。

JavaScript

let views = 100; let views = 101; // SyntaxError 同じ名前は宣言できない

2 回目は宣言ではなく代入なので、let を外して views = 101; と書きます。

要件

  1. 関数名は profileLabel、引数は name (文字列) と workCount (数値) の 2 つ
  2. 肩書き Web エンジニアを目指しています は再代入しないので const で宣言する
  3. 組み立て途中のラベルは書き換えるので let で宣言する
  4. 戻り値は 山田 太郎 / Web エンジニアを目指しています / 作品 3 件 の形の文字列

入出力例

profileLabel("山田 太郎", 3) → "山田 太郎 / Web エンジニアを目指しています / 作品 3 件" profileLabel("佐藤 花子", 1) → "佐藤 花子 / Web エンジニアを目指しています / 作品 1 件" profileLabel("山田 太郎", 0) → "山田 太郎 / Web エンジニアを目指しています / 作品 0 件" profileLabel("", 0) → " / Web エンジニアを目指しています / 作品 0 件"

ヒント

固定の値は const、足し込んでいく途中経過は let という役割分担で考えます

文字列の連結は第1章で学んだ + を使います。数値は自動で文字列に変換されます

区切りは半角スペース、スラッシュ、半角スペースの 3 文字です。余分なスペースが入ると期待値と一致しません

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/19·更新 2026/08/26

関連レッスン

  • typeof で型を調べる

    typeof 演算子で値の型名を取り出します。プロフィールに置いた各変数がどの型なのかを確かめられるようになります。

  • 型を変換する

    Number と String で文字列と数値を相互に変換します。入力欄から届いた文字列の数字を、計算に使える形に直せるようになります。

  • 真偽値と falsy な値

    偽として扱われる 6 つの値を押さえます。空文字や 0 が偽になる理由を説明でき、未入力チェックの下ごしらえができるようになります。

  • null と undefined を見分ける

    まだ値が入っていない undefined と、意図的に空にした null の違いを整理します。未設定のプロフィール項目をどちらで表すか判断できるようになります。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • 変数データに名前をつけて参照する仕組み
  • 判断YES/NO 分岐を表す菱形
  • 関数処理に名前を付けて再利用できる単位
  • 引数位置引数=順番で渡す。
  • 戻り値呼び出し元への返答を表す点線矢印
main.js
学習モード
エディタを読み込んでいます

メモ

let と const を使い分ける

⌘S で保存