str = str + ""; というコードが理解できません
以下の内容を示すコードを見て、一部理解できない箇所があります。
JavaScriptで、for文を使った二重ループを使用して、「」を縦横に並べて長方形を作るという内容です。縦横に並べる「」の個数は、1~10までの数値でランダムに選出します。
発生している問題・エラーメッセージ
以下のソースコードをにある「str += "";」(3行目)と、その少し下にある「str = str + "*";」(6行目) と「str = str + "\n"」(8行目)の3つのコードの意味がわかりません。
3行目のコードはなぜ「""」となっているのでしょうか。
6,8行目の「str = str + ""; 」「str = str + "\n"」は、なぜ「str +」となっているのでしょうか。
並べるのは「」だけなので、「str +」は必要ないのではと思うのですが、それを削除するとコンソールには何も表示されなくなります。
エラーメッセージは表示されません。 ```JavaScript
let width = Math.round(Math.random() * 10);
let height = Math.round(Math.random() * 10);
let str = "";
for(let i = 1; i <= height; i++){
for(let j = 1; j <= width; j++){
str =str + "*";
}
str =str + "\n";
}
console.log(str);
### 試したこと 【3行目について考えたこと】 ・「str = "";」は、空白を入れる(strの存在を残しておく??)という意味。ただ、そもそも空白(" ")ではないので、違うだろうとは思います。 ・まだ代入するものはないけど、とりあえず変数strを作っておきたいため。 ・後述する「str =」を後から入れるため。 【6、8行目について考えたこと】 ・試しに「str +」を消して、「str = "*";」「str = "\n";」としてみましたが、そうするとコンソールには何も表示されなくなります。 ・3行目で作った変数strに足すことで、文字列を具現化できる(???)。 正直さっぱりです。 当方まだJSを勉強し始めて日が浅いため、基本的な理解が足りない部分があると思います。 うまく伝えられているか不安ですが、もしよろしければどなたか回答をしていただけると非常に助かります。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー