【週刊ドットインストール】 『データで学ぶアルゴリズム Level 1-2』を運営中、Level 1-2も来週リリース予定!
お世話になっております。 復習として、試行錯誤しながら分からないところは動画も見返しつつコードを書いたところ、いくつか違っている部分があったのですが、それでも実行はできました。 途中までは同じですが、function createColumns() のところから何箇所か違いがあります。 ・ ・(前半略) ・ const columns = []; (<-- レッスンではfunctionの中に入っている)1 function createColumns() { for (let i = 0; i < 5; i++) { columns[i] = createColumn(i); } columns[2][2] = 'FREE'; return columns; } function renderBingo() { (<-- レッスンでは仮引数columnsが入っている)2 for (let row = 0; row < 5; row++) { const tr = document.createElement('tr'); for (let col = 0; col < 5; col++) { const td = document.createElement('td'); td.textContent = columns[col][row]; tr.appendChild(td); } document.querySelector('tbody').appendChild(tr); } } createColumns(); (<-- レッスンでは const columns = createColumns();)3 renderBingo();(<-- レッスンでは renderBingo(columns);)4 } 質問としては、 1のconst columns = []; のスコープの違いで、3のように const columns = createColumns(); としなくても大丈夫だったというところは理解できるのですが。const columns = []; はfunctionの中に入れたほうがよいのでしょうか。 また、引数、返り値の理解がいまひとつなのですが、2と4のrenderBingoの引数は必要なのでしょうか?
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
お世話になっております。
復習として、試行錯誤しながら分からないところは動画も見返しつつコードを書いたところ、いくつか違っている部分があったのですが、それでも実行はできました。
途中までは同じですが、function createColumns() のところから何箇所か違いがあります。
・
・(前半略)
・
const columns = []; (<-- レッスンではfunctionの中に入っている)1
function createColumns() {
for (let i = 0; i < 5; i++) {
columns[i] = createColumn(i);
}
columns[2][2] = 'FREE';
return columns;
}
function renderBingo() { (<-- レッスンでは仮引数columnsが入っている)2
for (let row = 0; row < 5; row++) {
const tr = document.createElement('tr');
for (let col = 0; col < 5; col++) {
const td = document.createElement('td');
td.textContent = columns[col][row];
tr.appendChild(td);
}
document.querySelector('tbody').appendChild(tr);
}
}
createColumns(); (<-- レッスンでは const columns = createColumns();)3
renderBingo();(<-- レッスンでは renderBingo(columns);)4
}
質問としては、
1のconst columns = []; のスコープの違いで、3のように const columns = createColumns(); としなくても大丈夫だったというところは理解できるのですが。const columns = []; はfunctionの中に入れたほうがよいのでしょうか。
また、引数、返り値の理解がいまひとつなのですが、2と4のrenderBingoの引数は必要なのでしょうか?