@@ -197,18 +197,17 @@ console.log(["Apple", "Banana", "Orange"].join("/")); // Apple/Banana/Orange
197197
198198上記のようにテンプレートリテラルを使って HTML を作成することもできますが、HTML がもっと長くなったり、さらに複雑なプログラムが必要になってきたらこのまま続けていくのは難しそうです。
199199
200- [ ` String#replace ` ] ( https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace ) メソッドは、第一引数に与えられた文字列 (または [ 正規表現 ] ( https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp ) ) に一致する文字列を第二引数の文字列に置き換えた新しい文字列を返します 。
201- 第一引数が文字列の場合は 、最初に一致した場所のみを置き換えます。
200+ [ ` String#replace ` ] ( https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace ) メソッドは、第一引数に与えられた文字列に一致する文字列を第二引数の文字列に置き換えた新しい文字列を返します 。
201+ ` String#replace ` メソッドは 、最初に一致した場所のみを置き換えます。
202202一致するすべての場所を置き換えたい場合は、代わりに [ ` String#replaceAll ` ] ( https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll ) を使います。
203203
204204``` js
205205const base = " ABCBCC" ;
206206document .write (base .replace (" BC" , " EFG" )); // AEFGBCC
207207document .write (base .replaceAll (" C" , " T" )); // ABTBTT
208- document .write (base); // ABCBCC (元の文字列は変更されない)
209208```
210209
211- ` String#replace ` と ` fs.readFileSync ` 関数を用いることで、 HTML を別のファイルに分けて保存することができるようになり 、より簡単に管理することができます。
210+ ` String#replace ` を用いることで、長い HTML ファイルを見通しよく記述できるようになり 、より簡単に管理することができます。
212211
213212``` html title="index.html"
214213<!doctype html>
@@ -234,19 +233,19 @@ const app = express();
234233const names = [" 田中" , " 鈴木" , " 佐藤" ];
235234app .get (" /" , (request , response ) => {
236235 const template = fs .readFileSync (" ./index.html" , " utf-8" );
237- const namesAsHTML = names .map ((user ) => ` <li>${ user} </li>` ).join (" " );
238- const html = template .replace (" {users}" , namesAsHTML);
236+ const html = template .replace (
237+ " {users}" ,
238+ names .map ((name ) => ` <li>${ name} </li>` ).join (" " ),
239+ );
239240 response .send (html);
240241});
241242
242243app .listen (3000 );
243244```
244245
245- イベントハンドラの中で 、プログラムではまず ` fs.readFileSync ` 関数を用いて ` index.html ` ファイルの内容を文字列として ` index ` に読み込んでいます 。
246+ リクエストを受け取ったとき 、プログラムではまず ` fs.readFileSync ` 関数を用いて ` index.html ` ファイルの内容を文字列としてに読み込んでいます 。
246247
247- 次の行では、配列である ` names ` を HTML として解釈可能な文字列の ` namesAsHTML ` に変換しています。
248-
249- その次の行の ` index.replace ` で、` index ` の中の ` "{users}" ` が ` namesAsHTML ` に置換されます。
248+ 次の行の ` index.replace ` で、読み込んだ HTML ファイルの文字列の中の ` "{users}" ` が ` names ` に対応する、箇条書きを表す文字列に置換されます。
250249
251250:::
252251
0 commit comments