console.log で表示する
このレッスンで分かること
console.log(値)はコンソールに表示するだけで、テストは見ていません- 関数の値は
returnで呼び出し元に返します
動いたのかどうかが分からない
JavaScript のファイルをつないでも、画面は何も変わりません。書いたコードが動いたのかさえ分かりません。そこで使うのが console.log です。プログラマーが世界でいちばん多く書く 1 行と言ってもいい命令です。
JavaScript
console.log("プロフィールサイトを読み込みました");この行を書いて index.html を開き、F12 (Mac は Command + Option + I) で開発者ツールを出して Console タブを見ると、書いた文字がそのまま出ます。画面には何も出ませんが、それでいいのです。console.log は開発者だけが見るメモだからです。カンマで区切れば、いくつでも並べて出せます。
JavaScript
console.log("作品数", 3);表示は出ているのにテストが赤い
ここからが大事な話です。このコースの課題は、すべて「関数を書いて、その戻り値をテストする」形式です。console.log で表示しても、テストは 1 件も通りません。テストが見ているのは return で返した値だけです。
JavaScript
function workLabel(work) {
return "作品 " + work;
}
console.log(workLabel("プロフィールサイト"));
// => 作品 プロフィールサイトfunction が関数を作るキーワード、workLabel が名前、(work) が受け取る値の入れ物、{ } の中が本体です。そして return が、呼んだ側に値を渡す命令です。カッコが入れ子になった式は内側から読みます。まず workLabel("プロフィールサイト") が値を返し、そのあと外側の console.log が受け取った値を表示しています。
return | console.log | |
|---|---|---|
| 誰のため | プログラムのため | 人間のため |
| 何をする | 呼び出し元に値を渡す | コンソールに表示する |
| そのあと | 関数はそこで終わる | 次の行に進む |
| テスト | 見ている | 見ていない |
return を書いていない関数は undefined を返します。テストに undefined と出たら、まず return の書き忘れを疑ってください。入門者のつまずきの半分はこれです。
詰まったら、受け取った値を出す
両方を書いても構いません。むしろ、途中経過を console.log で出しながら最後に return で返すのが、実務のふつうの書き方です。
JavaScript
function workLabel(work) {
console.log("受け取った値", work);
return "作品 " + work;
}こうしておけば、テストが落ちたときに「そもそも何を受け取っていたのか」がコンソールに残ります。テストが赤いまま 20 分悩むより、console.log を 1 行足すほうがずっと速く原因にたどり着けます。
よくある間違い
console.logで満足してしまう — 表示は出るのにテストは赤いままになります。値は必ずreturnで返します- 関数を呼ばずに名前だけ書く —
workLabelは関数そのもの、workLabel("プロフィールサイト")が呼び出しです。カッコを忘れると中身が実行されません
要件
- 関数名は
helloConsole、引数はnameの 1 つ (文字列) - 戻り値は
Hello,+ name +!をつないだ文字列 Hello,のあとには半角スペースを 1 つ入れること- 値は
console.logではなくreturnで返すこと
入出力例
helloConsole("山田 太郎") → "Hello, 山田 太郎!"
helloConsole("JavaScript") → "Hello, JavaScript!"
helloConsole("Taro") → "Hello, Taro!"
helloConsole("") → "Hello, !"