JavaScript / LESSON 01 / JS01

JavaScript:実行環境とconsole.log

1学習の目的

2基礎解説

やりたいこと書き方結果
文字を出すconsole.log("こんにちは");こんにちは
計算結果を出すconsole.log(1 + 2);3
複数まとめて出すconsole.log("点数", 82);点数 82
1行コメント// メモ実行されない
✅ 覚えるべき重要ポイント
  1. 実行環境はブラウザにすでに入っている。インストール不要。F12(Macは ⌘ + option + I)で開発者ツールを開き、Consoleタブに書けばその場で動く。
  2. 文字列は "' で囲む。囲み忘れると変数名だと解釈されてエラーになる。
  3. 文の終わりの ;(セミコロン)は省略できるが、付ける前提で統一するのが安全。実務のコードはほぼ付いている。
  4. console.logカンマで区切って複数の値を並べられる。区切りには自動で半角スペースが入る。
  5. コメントは // で行末まで、/* */ で複数行。コードを消さずに一時的に無効化する用途でもよく使う。

現場使用例:処理が想定どおり動いているかの確認、変数の中身の目視チェック、エラー箇所の切り分け。プログラマーが1日で最も多く書くコードと言ってよい。

console.log("Hello, World!");   // Hello, World!

// 計算した結果をそのまま出せる
console.log(3 * 7);              // 21

// カンマで区切ると横に並ぶ(間に半角スペース)
console.log("合計", 120, "円");  // 合計 120 円

/* 複数行のコメントは
   このように書く */

3基本ドリル(10問)

JS01-D01 console.log を使って「Hello, World!」と出力せよ。 コーディング★☆☆無料
期待される結果

出力 == Hello, World!

ヒント

console.log("Hello, World!"); と書く。文字列は引用符で囲む。

模範解答
console.log("Hello, World!");
解説

すべての始まりの1行。console はブラウザが用意している道具箱で、log はその中の「表示する」機能を指す。

JS01-D02 ブラウザで開発者ツールを開くキーはどれか(Windows)。
A. F1 B. F12 C. Esc D. Tab
選択★☆☆無料
期待される結果

解答 == B

ヒント

ファンクションキーの一番右あたり。

模範解答
B
解説

Macでは ⌘ + option + I。開いたらConsoleタブを選ぶと、その場でJavaScriptが書ける。

JS01-D03 7 × 8 の計算結果を出力せよ(数値をそのまま書かず、掛け算の式で書くこと)。 コーディング★☆☆無料
期待される結果

出力 == 56

ヒント

掛け算の記号は * (アスタリスク)。

模範解答
console.log(7 * 8);
解説

数値は引用符で囲まない。囲むと文字列になり "7 * 8" がそのまま表示されてしまう。

JS01-D04 「JavaScript入門」と出力するコードを完成させよ。 穴埋め★☆☆無料
コード
console.____("JavaScript入門");
期待される結果

出力 == JavaScript入門

ヒント

「記録する」という意味の英単語3文字。

模範解答
log
解説

console には log のほかに warn(警告)や error(エラー)もあり、開発者ツール上で色分けされて表示される。

JS01-D05 // これはテストです と書いた行はどうなるか。
A. 画面に表示される B. 実行されず無視される C. エラーになる D. 変数になる
選択★☆☆無料
期待される結果

解答 == B

ヒント

スラッシュ2つで始まる行の意味。

模範解答
B
解説

コメントは人間のためのメモで、プログラムからは存在しないものとして扱われる。処理を一時的に止めたいときにも使う。

JS01-D06 「合計」「120」「円」の3つをカンマで区切って1回の console.log で出力せよ(結果は「合計 120 円」となる)。 コーディング★★☆無料
期待される結果

出力 == 合計 120 円

ヒント

console.log(値1, 値2, 値3); のようにカンマで並べる。数値は引用符なし。

模範解答
console.log("合計", 120, "円");
解説

区切りには自動で半角スペースが入る。自分でスペースを書き足すと二重になるので注意。

JS01-D07 2行目だけを実行させないようにコードを完成させよ(1行目と3行目だけが出力される)。 穴埋め★★☆無料
コード
console.log("1行目");
____ console.log("2行目");
console.log("3行目");
期待される結果

出力 == 1行目 / 3行目(2行)

ヒント

行の先頭に付けて、その行を無効化する記号。

模範解答
//
解説

コードを消さずに無効化できるのがコメントアウトの利点。原因を切り分けるとき、1行ずつ無効化して試すのは実務でも日常的に使う手法。

JS01-D08 console.log(こんにちは); と書くとどうなるか(引用符なし)。
A. こんにちは と表示される B. 変数だと解釈されエラーになる C. 空白が表示される D. 引用符が自動で補われる
選択★★☆無料
期待される結果

解答 == B

ヒント

引用符で囲まれていない文字列は何として扱われるか。

模範解答
B
解説

引用符がないと「こんにちは という名前の変数」を探しに行き、存在しないので ReferenceError になる。文字列は必ず囲む。

JS01-D09 「1行目」「2行目」「3行目」を、3回の console.log で1行ずつ出力せよ。 コーディング★★☆無料
期待される結果

出力3行。1行目 / 2行目 / 3行目

ヒント

console.log を3回書く。1回ごとに改行される。

模範解答
console.log("1行目");
console.log("2行目");
console.log("3行目");
解説

console.log は1回呼ぶごとに改行される。改行文字を自分で書く必要はない。

JS01-D10 「100 + 50 = 150」の形式で出力せよ。150の部分は実際に計算させること(150と直接書かない)。 コーディング★★☆無料
期待される結果

出力 == 100 + 50 = 150

ヒント

console.log("100 + 50 =", 100 + 50); と書く。左は文字列、右は計算式。

模範解答
console.log("100 + 50 =", 100 + 50);
解説

引用符の中は文字、外は計算という違いがはっきり出る問題。同じ「100 + 50」でも、囲めば文字列、囲まなければ計算される。

4実践シナリオ(5問)

JS01-S01 【処理ログを出す】ある処理の流れを3行で記録せよ。
「[開始] データ取得」「[完了] 3件を取得しました」「[終了] 処理を終えました」の3行を出力すること。件数の3は数値として渡すこと。
コーディング★★☆無料
期待される結果

出力3行が完全一致

ヒント

2行目は console.log("[完了]", 3, "件を取得しました"); …とすると余分なスペースが入るので注意。カンマ区切りのスペースを計算に入れて組み立てる。

模範解答
console.log("[開始] データ取得");
console.log("[完了]", 3 + "件を取得しました");
console.log("[終了] 処理を終えました");
解説

カンマ区切りは間に半角スペースが入るため、「3件」のように詰めたい場合は + でつなぐ。実務のログ出力ではこの1文字の差が読みやすさを左右する。

JS01-S02 【計算結果の確認】りんご1個150円を3個買った合計を計算して「りんご 3個 = 450円」の形式で出力せよ。450は計算させること。 コーディング★★☆無料
期待される結果

出力 == りんご 3個 = 450円

ヒント

カンマ区切りのスペースを考慮する。"りんご", 3 + "個 =", 150 * 3 + "円" のように組み立てられる。

模範解答
console.log("りんご", 3 + "個 =", 150 * 3 + "円");
解説

数値と文字列を + でつなぐと数値が文字列に変換されて連結される。この挙動はJavaScript特有で、次章の型の話につながる。

JS01-S03 【消費税の計算】税抜105円の商品の税込価格(10%)を計算し、「税抜105円 → 税込116円」の形式で出力せよ。税込額は計算させ、整数に丸めること。 コーディング★★☆無料
期待される結果

出力 == 税抜105円 → 税込116円

ヒント

税込は 105 * 1.1。そのまま出すと 115.50000000000001 という値になるので、Math.round() で整数に丸める。

模範解答
console.log("税抜105円 → 税込" + Math.round(105 * 1.1) + "円");
解説

小数計算には誤差が出るのがコンピュータの宿命。105 * 1.1 の答えは 115.5 のはずだが、実際には 115.50000000000001 になる。金額計算では Math.round() で丸めるのが定石。

JS01-S04 【コメントで無効化する】次の3行のうち、2行目だけを実行させないようにせよ。
console.log("処理A");
console.log("処理B");
console.log("処理C");
そのうえで、なぜ無効化したのかを説明するコメントを1行追加すること。
コーディング★★★無料
期待される結果

出力 == 処理A / 処理C(2行)

ヒント

行頭に // を付ける。説明のコメントも // で書く。

模範解答
console.log("処理A");
// 処理Bは不具合調査のため一時的に停止
// console.log("処理B");
console.log("処理C");
解説

「なぜ止めたか」を書き残すのが重要。理由のないコメントアウトは、後から見た人(と未来の自分)が消していいのか判断できず、コードに残り続ける。

JS01-S05 【結果の確認表を出す】次の3つの計算について、「10 + 3 = 13」の形式で1行ずつ出力せよ。答えはすべて計算させること。
① 10 + 3 ② 10 - 3 ③ 10 * 3
コーディング★★★無料
期待される結果

出力3行。10 + 3 = 13 / 10 - 3 = 7 / 10 * 3 = 30

ヒント

左側の "10 + 3 =" は文字列、右側は計算式。カンマ区切りのスペースをそのまま活かせる。

模範解答
console.log("10 + 3 =", 10 + 3);
console.log("10 - 3 =", 10 - 3);
console.log("10 * 3 =", 10 * 3);
解説

同じ「10 + 3」が、引用符の中では文字として、外では計算として扱われているのがこの問題の核心。この区別が曖昧なままだと、以降すべての章でつまずく。

5仕上げ課題

JS01-FINAL 【購入明細を出力する】次の条件で、購入明細を6行で出力するコードを書け。

商品:ノート(1冊 180円)を 3冊
商品:ペン(1本 120円)を 5本
消費税:10%


仕様:
① 見出し行を出す
② 各商品を「ノート 180円 × 3 = 540円」の形式で出す(金額は計算させる)
③ 区切り線を出す
④ 小計と税込合計を出す(税込は Math.round で整数に丸める)
⑤ コードの先頭に、何のコードかを説明するコメントを1行入れる

出力仕様(6行):
=== 購入明細 ===
ノート 180円 × 3 = 540円
ペン 120円 × 5 = 600円
---
小計 1140円
税込 1254円
期待される結果

出力6行が完全一致

ヒント

すべて + でつないで1つの文字列にすると、余分なスペースを気にせず組み立てられる。小計は 180 * 3 + 120 * 5、税込は Math.round(小計 * 1.1)。同じ計算を2回書くことになるが、次章で変数を学ぶとこれが解消される。

模範解答
// 購入明細を計算して表示する
console.log("=== 購入明細 ===");
console.log("ノート 180円 × 3 = " + 180 * 3 + "円");
console.log("ペン 120円 × 5 = " + 120 * 5 + "円");
console.log("---");
console.log("小計 " + (180 * 3 + 120 * 5) + "円");
console.log("税込 " + Math.round((180 * 3 + 120 * 5) * 1.1) + "円");
解説

console.log と四則演算だけで、実用的な明細が出せるようになった。

ただし今のコードには大きな不満が残っているはずだ。「180 * 3 + 120 * 5」という同じ計算を2回書いている。単価を変えたければ4箇所を直す必要があり、1箇所でも直し忘れれば数字が合わなくなる。

この問題を解決するのが次章の変数だ。値に名前を付けて1箇所で管理できるようになると、このコードは見違えるほど短く、直しやすくなる。「不便を体験してから道具を学ぶ」——この順番で進めていく。