回答編集履歴
1
訂正
answer
CHANGED
@@ -11,11 +11,11 @@
|
|
11
11
|
|
12
12
|
ご質問では省略されていますが、``app.request``, ``app.response`` こそが、NodeJS のサーバーから(コールバック経由で)渡される個々の接続を意味した実装であることに着目してください(ここで、**扱いやすいように拡張**しています)。
|
13
13
|
|
14
|
-
* ``app.request``([http.IncommingMessage](https://nodejs.org/dist/latest-v14.x/docs/api/http.html#http_class_http_incomingmessage)
|
15
|
-
* ``app.response``([http.ServerResponse](https://nodejs.org/dist/latest-v14.x/docs/api/http.html#http_class_http_serverresponse)
|
14
|
+
* ``app.request``([http.IncommingMessage](https://nodejs.org/dist/latest-v14.x/docs/api/http.html#http_class_http_incomingmessage) を [lib/request.js](https://github.com/expressjs/express/blob/master/lib/request.js) で拡張)
|
15
|
+
* ``app.response``([http.ServerResponse](https://nodejs.org/dist/latest-v14.x/docs/api/http.html#http_class_http_serverresponse) を [lib/response.js](https://github.com/expressjs/express/blob/master/lib/response.js) で拡張)
|
16
16
|
|
17
17
|
※ JavaScript(ECMAScript)の特徴は インスタンスが柔軟であるために拡張可能です。
|
18
|
-
(他の言語のように変化させたくないのであれば、[Object.freeze()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze) 等で対応
|
18
|
+
(他の言語のように変化させたくないのであれば、[Object.freeze()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze) 等で対応できますが、デメリットになることもあります)
|
19
19
|
|
20
20
|
----
|
21
21
|
一通りのメンバが再定義された ``app``(関数のインスタンス)は、[app.init()](https://github.com/expressjs/express/blob/master/lib/application.js#L57) された状態で``return app``されます。
|