この場合、変数のスコープは関数単位になります。値が参照できてしまいます。5例えば、以下ようなミスをしてしまうと、書いた人の意図をとは違う動きをしてしまいます。使って変数宣言すると、ブロックスコープの変数を作ることが出来ます。以下の例のように、ブロックの外で参照しようとしてもエラーになります。広いスコープで変数を持たせることは、メリットよりもデメリットの方が多いです。いうタグが追加されました。タグで用意することが出来ます。一覧の画面で「宛先表示」というボタンを押すと、画面にオーバーラップするような感じで宛先の一覧テーブルが表示されます。行う必要がありました。一応、これでもちゃんと動きます。一応、これでもちゃんと動きます。タグについての記述を見つけました。中ならどこでもいいそうです)に置きます。文の中身をこのテンプレートを用いた形に書き換えます。形に書き直しましょう。tbody').appendChild(tbodyElems);}コード量としては倍になってしまいましたが、動的要素と静的要素が分離できたので、コードの可用性としては上がったと思います。見た感じで何となく分かると思うのですが、ちょっとだけ解説します。使ってアクセスします。使ったアクセスはできません。要素の配列を取得しています。各要素に必要な情報を詰めます。関数を使って書き出しています。タグ内の要素を全て追加するかどうかのフラグです。直下にあるタグしか追加されません。true);最後に、この要素を所定の場所に追加します。面食らいますが、実際に書いてみるとそれ以外には特に難しいことはないと思います。使う必要がありました。当時流行っていた「えいじゃっくす?」を試してみようと思った学生時代の私は絶望しました。流行ったことも納得です。簡単にリクエストの送信やレスポンスの受信が書けるようになります。用のライブラリを使っています。含め最近のブラウザならば大体は動きます。サービスに使える段階にはまだまだありません。今後に期待しましょう。悪評の一つである「コールバック地獄」を回避するためのオブジェクトです。非同期の処理になります。これまで、JavaScriptの非同期処理で関数を順番に実行するにはコールバック関数で書く必要がありました。やっていくと、どんどんコールバック関数のネストが深くなります。これが俗に言う「コールバック地獄」です。オブジェクトを使った関数で書き直すとこうなります。(関数の書き方はここでは割愛します。知りたい方は、最後にある参考のページを参照してください)所謂メソッドチェインの書き方が出来るので、実行の順序がぱっと見でとても分かりやすくなります。もこの書き方で記述出来ます。リクエストを行う場合、fetch('/user/profile')でリクエストを投げて結果を受け取ります。形式にしてコンソールに出力するには以下のように書きます。ついても同様の書き方で書けます。形式でオプションを記述することができます。以外のリクエストメソッドを使う場合もオプションに記述します。ステータスコードでチェックすると思います。エラーメッセージを書く処理は、ありがちな割には、結構トリッキーな書き方が必要になります。SuperAgentならば勝手にヘッダに認証情報を付けてリクエストを投げてくれます。オプションで明示的に書く必要があります。{console.log(responseJson);})他のライブラリに慣れているとハマる可能性があるので気をつけてください。私はこれで20分ハマりました。光まだまだ気持ちは新人です。...スクロールイベント改善してみた4月にシステム部に異動してきました、岡田です。その3【iOSアプリ】VIPERアーキテクチャのプロダクトで配属されて3週間の新卒社員のOJTをした話。