![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
javascriptを基礎中の基礎から勉強しており、プログラミング超初心者です。
某書籍(一部、修正を加えています)の演習問題で、
const characters = [
{name: "息子", age: 14},
{name: "爺さん", age: 100},
{name: "弟", age: 5},
];
// for文を完成させてください
for (let i = 0; i < characters.length; i ++) {
console.log("--------------------");
// 定数characterを定義してください
const character = characters[i];
// 「名前は〇〇です」を出力してください
console.log(`名前は${character.name}です`);
// 「〇〇歳です」を出力してください
console.log(`${character.age}歳です`);
}
出力結果は
ーーーーーーーーーーーーーーー
名前は息子です
14歳です
ーーーーーーーーーーーーーーー
名前は爺さんです
100歳です
ーーーーーーーーーーーーーーー
名前は弟です
5歳です
と出ます。
書籍ではこちらが回答になっています。
私の回答は
const characters = [
{name: "息子", age: 14},
{name: "爺さん", age: 100},
{name: "弟", age: 5},
];
// for文を完成させてください
for (let i = 0; i < characters.length; i ++) {
console.log("--------------------");
// 定数characterを定義してください
// 「名前は〇〇です」を出力してください
console.log("名前は" + characters[i].name + "です");
// 「〇〇歳です」を出力してください
console.log(characters[i].age + "歳です");
}
と私は答えました。
出力結果は全く同じでした。
大きな違いは定数characterを定義していない点です。
出力上は同じですがこれは間違いなのでしょうか?
このまま次に進んではまずいのではと思い、不安です。
また、前文ではcharacterを定義しないとエラーになることは確認できましたが、
なぜエラーになってしまうのかがどうしても分かりませんでした。
丁寧に教えていただけると大変助かります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
| 出力上は同じですがこれは間違いなのでしょうか?
プログラムの動作が同じだという意味では、間違いではありません。
characterに入れてから、内容を使うのか(本にかいてある方法)
characters配列の内容を直接使うのかの違いですので、
そのあたりは好みの問題になってきます。
ただ、今回は問題に「定数characterを定義してください」とあるので、
定数characterを定義して利用するというのが正解でしょうね。
なるほど!
少しすっきりしました。
考えてみたらもっと発展させて出力させる場合、
chracters[i].nameと入力するより、
最初に定義をさせておいて
character.nameとやる方が出力を沢山要するときに入力する意味で楽なのかなと感じました。
そういう見解は間違っているのかもしれませんが、自分で納得してみます。
ありがとうございました!
No.2
- 回答日時:
> // 定数characterを定義してください
という命題に対して、定義していなければ明らかに間違いです。
テストだと0点
ただし運用上絶対にcharacterがいるかといえばそんなことはありません
ドクターバランシェのように問題を見ると途中式がなく答えが
頭に浮かぶような人ならともかく、論理的な流れを追うような
解説なのでしょうから、この命題では必須でしょう
そうですね、根本的なとこから答えなければならないことに反省しております。
これでも同じ出力なのになぜ…と考えるばかりでずっと手が止まってしまいました。
現段階でこの極短いコードでもつまずくようなレベルなので、論理的に流れを追うような解説をしっかり身に着けるようにします。
アンサーありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- その他(プログラミング・Web制作) パイソン初心者です 4 2022/06/29 06:49
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
1~100までの数字を表示し、か...
-
Javaで改行などが出来ないのです。
-
一定のスペースを空けて端を揃...
-
System.out.printlnの出力先
-
javaのwhile文で九九の表
-
system.out.printが出力されない
-
switch分が機能しません。
-
tomcatのstdout.logを停止したい。
-
VBSエラー"オブジェクト型の変...
-
ArrayListによる計算表作成
-
1~100までの数字を表示したい
-
テキストエリアで改行する
-
javaにおけるCSV出力時の文字コ...
-
StringBufferで改ページ処理を...
-
InputStreamはreadが1回しかで...
-
Javascript で、0000 から 9999...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
Javaで改行などが出来ないのです。
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
System.out.printlnの出力先
-
1~100までの数字を表示し、か...
-
Eclipseのコンソールを常に表示...
-
system.out.printが出力されない
-
JAVAのServletで、画像表示につ...
-
1~100までの数字を表示したい
-
テキストエリアで改行する
-
switch分が機能しません。
-
Tomcatが無応答となる現象が起...
-
一定のスペースを空けて端を揃...
-
数字文字列をパック10進数に変...
-
JavaScriptの変数をjavaのメソ...
-
バイトスワップ
-
tomcatのstdout.logを停止したい。
-
Java 九九の表について
-
ダブルクォーテーション(””)...
おすすめ情報