いつもご回答ありがとうございます。
JavaScript の変数でつまずいてしまったので教えていただきたいです。
出典は「progate,JavaScriptコース13(2)」です。
質問内容
回答のコードでは、最初にconst=character(s) を定義しているのに、for文のなかで、
別の定数 character に定義し直しているのはなぜでしょうか。
私のコードでは、再定義せず、最初に定義したcharacter(s)を使いまわしていますが、
出力結果は回答と同じです。
ご存知の方いらっしゃいましたら、ご教示いただきたいです。
回答のコード
JS
1コード 2const characters = [ 3 {name: "にんじゃわんこ", age: 14}, 4 {name: "ひつじ仙人", age: 100}, 5 {name: "ベイビーわんこ", age: 5}, 6]; 7 8// for文を完成させてください 9for (let i = 0; i < characters.length; i++) { 10 console.log("--------------------"); 11 12 // 定数characterを定義してください 13 const character = characters[i]; 14 15 // 「名前は〇〇です」を出力してください 16 console.log(`名前は${character.name}です`); 17 18 // 「〇〇歳です」を出力してください 19 console.log(`${character.age}歳です`); 20
### 自分のコード
JS
1const characters = [ 2 {name: "にんじゃわんこ", age: 14}, 3 {name: "ひつじ仙人", age: 100}, 4 {name: "ベイビーわんこ", age: 5}, 5]; 6 7// for文を完成させてください 8 9for (let i=0 ; i <characters.length ; i ++) { 10 console.log("------------------------------"); 11 12 console.log(`名前は${characters[i].name}です`); 13 14 console.log(`${characters[i].age}歳です`); 15 16 17 18 19} 20
私の考え
変数iを決定した後、文章にcharacter(s)をそのまま埋め込むと、
インデックス番号の指定まで書く必要があるので、characterに再定義することで
埋め込む定数をスッキリさせられるからだと考えています。
ご回答よろしくお願い致します。
JavaとScriptの間にスペースを入れないでください。
別の言語の話になってしまいます。
JavaScriptが正式名称なので、
誤表記は無くすようにしましょう。
出典は何でしょう
質問者が考えていらっしゃるとおりだと思います。特に多次元配列の場合は複数のインデックスを指定しなくてはならないので、コードの見通しが悪くなりますから。
まぁ、好みの問題ではありますが。
「回答のコードを作った人」に意図を聞いては。本来の意図は書いた人にしか分からないかと。
他人があれこれ想像したところで作った人の意図と合致するとは限りません。
自分が納得すれば良いのでしたら、さらに赤の他人に聞く必要もないと思います。
ご指摘ありがとうございます。
ご指摘の通り、JavaScriptと変更させていただきました。
様々な回答をありがとうございます。
動くのであれば特に問題ということですね。
コードは書く人それぞれで、書き方の意図は本人にしかわからないということでよろしかったでしょうか。
要件満たしていればそれは「正しいコード」です。コードにコメントも何もないなら書いた人にしか意図が分からないのは、申し訳ないが当然です。
コードは書いた通りにしか動かないからです。
なので「おそらく」「たぶん」としか他人には言えないのです。
出典不明のコメント無しコードなのでなおさらです。
たしかに、コードだけで意図をくみ取るのは不可能ですね。
コメントの大事さがようやく理解できました。
出典はプロゲートで、コメントはコードを読むのに見にくいと思い、
消してしまったので、更新しておきます。
次回からは、出典、コメントも載せて質問させていただきます。
m.ts10806さんいつもご指導ありがとうございます。
これからもよろしくお願い致します。
たまにオンライン学習サイトのコードを質問に持ってくる方はいますが、「問い合わせたら?」という感想しかもてません。
「どう組んだら良いか」「起きた不具合の対応」なら他者でも要件きっちりあれば対応可能ですが、組まれたコードに対する意図を聞くのは、結局両者モヤッとした終わり方にしかなりません。
質問すべきはコードの組み方であって、組まれたコードの意図ではないということですね。
おそらく業界なら常識なのでしょうが、まったく知りませんでした。
今回、知ることができとても勉強になりました。
> おそらく業界なら常識なのでしょうが、
「Aさんの意図はAさんに聞くべきであって、赤の他人のBさんに聞いてもAさんの意図が分かるはずは無い」
というのはあ、IT業界に限らないと思いますよ。
回答3件
あなたの回答
tips
プレビュー