Skip to content

Commit 51b4c0b

Browse files
committed
レビュー反映
1 parent 27457f7 commit 51b4c0b

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

docs/3-web-servers/04-server/index.mdx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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
205205
const base = "ABCBCC";
206206
document.write(base.replace("BC", "EFG")); // AEFGBCC
207207
document.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();
234233
const names = ["田中", "鈴木", "佐藤"];
235234
app.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

242243
app.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

Comments
 (0)