Skip to content

Commit 1cd4131

Browse files
authored
Merge pull request #321 from ut-code/develop
2 parents f4c4e54 + 9648103 commit 1cd4131

File tree

11 files changed

+16
-15
lines changed

11 files changed

+16
-15
lines changed

docs/2-browser-apps/04-class/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const tanaka = {
1818
};
1919
```
2020

21-
同じ属性を持つ<Term type="javascriptObject">オブジェクト</Term>を複数生成するときに役立つのが **<Term type="javascriptClass">クラス</Term>** です。<Term type="javascriptClass">クラス</Term>では、<Term type="javascriptObject">オブジェクト</Term>の<Term type="javascriptProperty">プロパティ</Term>を予め設定しておくだけでなく、下の<Term type="javascriptMethod">メソッド</Term>の節で説明するように、<Term type="javascriptProperty">プロパティ</Term>を引数にもつような関数も設定しておくことができます。これにより、同じコードを何度も書く必要がなくなるというメリットがあります。<Term type="javascriptClass">クラス</Term>は、同じ<Term type="javascriptProperty">プロパティ</Term>を持つ<Term type="javascriptObject">オブジェクト</Term>を統一的に扱うための仕組みであり、<Term type="javascriptObject">オブジェクト</Term>の設計図と言えます。
21+
同じ属性を持つ<Term type="javascriptObject">オブジェクト</Term>を複数生成するときに役立つのが**<Term type="javascriptClass">クラス</Term>**です。<Term type="javascriptClass">クラス</Term>では、<Term type="javascriptObject">オブジェクト</Term>の<Term type="javascriptProperty">プロパティ</Term>を予め設定しておくだけでなく、下の<Term type="javascriptMethod">メソッド</Term>の節で説明するように、<Term type="javascriptProperty">プロパティ</Term>を引数にもつような関数も設定しておくことができます。これにより、同じコードを何度も書く必要がなくなるというメリットがあります。<Term type="javascriptClass">クラス</Term>は、同じ<Term type="javascriptProperty">プロパティ</Term>を持つ<Term type="javascriptObject">オブジェクト</Term>を統一的に扱うための仕組みであり、<Term type="javascriptObject">オブジェクト</Term>の設計図と言えます。
2222

2323
次のコードでは、先ほど作った `tanaka` のように `name``age` という<Term type="javascriptProperty">プロパティ</Term>を持つ<Term type="javascriptObject">オブジェクト</Term>の設計図として、<Term type="javascriptClass">クラス</Term> `Student` を定義しています。<Term type="javascriptClass">クラス</Term>では、この例の `age` <Term type="javascriptProperty">プロパティ</Term>のように、デフォルトの値を設定することができます。
2424

@@ -35,7 +35,7 @@ class Student {
3535

3636
:::
3737

38-
`new` 演算子を<Term type="javascriptClass">クラス</Term>に対して適用すると、設計図に基づいて<Term type="javascriptObject">オブジェクト</Term>が作成されます。こうしてできた<Term type="javascriptObject">オブジェクト</Term>を、もとになった<Term type="javascriptClass">クラス</Term>の **<Term type="javascriptInstance">インスタンス</Term>** と呼びます。今回の `age` <Term type="javascriptProperty">プロパティ</Term>のように、<Term type="javascriptClass">クラス</Term>の<Term type="javascriptProperty">プロパティ</Term>にデフォルトの値が設定されている場合、新たな値を代入するまではデフォルト値が入ります。もちろん、<Term type="javascriptProperty">プロパティ</Term>に新たな値を代入してデフォルト値を書き換えることもできます。
38+
`new` 演算子を<Term type="javascriptClass">クラス</Term>に対して適用すると、設計図に基づいて<Term type="javascriptObject">オブジェクト</Term>が作成されます。こうしてできた<Term type="javascriptObject">オブジェクト</Term>を、もとになった<Term type="javascriptClass">クラス</Term>の**<Term type="javascriptInstance">インスタンス</Term>**と呼びます。今回の `age` <Term type="javascriptProperty">プロパティ</Term>のように、<Term type="javascriptClass">クラス</Term>の<Term type="javascriptProperty">プロパティ</Term>にデフォルトの値が設定されている場合、新たな値を代入するまではデフォルト値が入ります。もちろん、<Term type="javascriptProperty">プロパティ</Term>に新たな値を代入してデフォルト値を書き換えることもできます。
3939

4040
```javascript
4141
const tanaka = new Student(); // Student クラスをもとにオブジェクトを作成する
@@ -74,7 +74,7 @@ document.write(emptyFunction()); // 値を返さない関数の戻り値は unde
7474

7575
同じ<Term type="javascriptProperty">プロパティ</Term>を持つ<Term type="javascriptObject">オブジェクト</Term>に対しては、同じような処理を行うことが多いです。例えば、学生はたいてい最初の授業で自己紹介をします。そこで、 `Student` <Term type="javascriptClass">クラス</Term>に、自己紹介をする関数 `introduceSelf()` を設定してみましょう。
7676

77-
オブジェクトに対して定義されている関数を **<Term type="javascriptMethod">メソッド</Term>** と呼びます。<Term type="javascriptMethod">メソッド</Term>の定義は<Term type="javascriptClass">クラス</Term>定義の中で行われますが、関数と異なり、`function` キーワードを必要としません。
77+
オブジェクトに対して定義されている関数を**<Term type="javascriptMethod">メソッド</Term>**と呼びます。<Term type="javascriptMethod">メソッド</Term>の定義は<Term type="javascriptClass">クラス</Term>定義の中で行われますが、関数と異なり、`function` キーワードを必要としません。
7878

7979
```javascript
8080
class Student {
@@ -89,9 +89,9 @@ class Student {
8989
}
9090
```
9191

92-
<Term type="javascriptClass">クラス</Term>自体は単なる設計図でしかないため、実際の<Term type="javascriptObject">オブジェクト</Term>が存在するわけではありません。そこで、<Term type="javascriptMethod">メソッド</Term>内では、設計図から作成された<Term type="javascriptInstance">インスタンス</Term>自身を指す特殊な変数 `this` が使用できます。
92+
<p><Term type="javascriptClass">クラス</Term>自体は単なる設計図でしかないため、実際の<Term type="javascriptObject">オブジェクト</Term>が存在するわけではありません。そこで、<Term type="javascriptMethod">メソッド</Term>内では、設計図から作成された<Term type="javascriptInstance">インスタンス</Term>自身を指す特殊な変数 <code>this</code> が使用できます。</p>
9393

94-
<Term type="javascriptMethod">メソッド</Term>を使用するには、<Term type="javascriptProperty">プロパティ</Term>へのアクセス時と同じく、<Term type="javascriptInstance">インスタンス</Term>に対して `.`(ドット)記号を用います。
94+
<p><Term type="javascriptMethod">メソッド</Term>を使用するには、<Term type="javascriptProperty">プロパティ</Term>へのアクセス時と同じく、<Term type="javascriptInstance">インスタンス</Term>に対して <code>.</code>(ドット)記号を用います。</p>
9595

9696
```javascript
9797
const tanaka = new Student();

docs/2-browser-apps/05-array/_samples/Array-class/script.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//Array#push メソッドを用いて、フィボナッチ数列の配列を作成
22
const f = [1, 1];
3-
for (let i = 0; i < 100; i++) {
3+
for (let i = 0; i < 100; i += 1) {
44
f.push(f[f.length - 1] + f[f.length - 2]);
55
}
66

docs/2-browser-apps/05-array/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ document.write([3, 2, 1][0]);
5050

5151
<Answer>
5252

53-
`[3, 2, 1]` で配列が生成され、`[0]` で 0 番目の要素が指定されているので、3 と表示されます。
53+
`[3, 2, 1]` で配列が生成され、`[0]` で 0 番目の要素が指定されているので、`3` と表示されます。
5454

5555
<ViewSource url={import.meta.url} path="_samples/array" />
5656

@@ -121,7 +121,7 @@ document.write(studentNames.length); // 4
121121
```javascript
122122
//Array#push メソッドを用いて、フィボナッチ数列の配列を作成
123123
const f = [1, 1];
124-
for (let i = 0; i < 100; i++) {
124+
for (let i = 0; i < 100; i += 1) {
125125
f.push(f[f.length - 1] + f[f.length - 2]);
126126
}
127127
//作成した配列の各要素を for ~ of 文を用いて出力

docs/3-web-servers/04-http-server/_samples/bold/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

docs/3-web-servers/04-http-server/_samples/bold/main.js renamed to docs/3-web-servers/04-http-server/_samples/hyperlink/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const http = require("http");
33
const server = new http.Server();
44

55
server.addListener("request", (request, response) => {
6-
response.write("<b>Hello</b> World");
6+
response.write('<a href="https://www.google.com/">Hello</a> World');
77
response.end();
88
});
99

docs/3-web-servers/04-http-server/_samples/bold/package-lock.json renamed to docs/3-web-servers/04-http-server/_samples/hyperlink/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/3-web-servers/04-http-server/_samples/bold/package.json renamed to docs/3-web-servers/04-http-server/_samples/hyperlink/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "bold",
2+
"name": "hyperlink",
33
"version": "1.0.0",
44
"description": "",
55
"main": "main.js",
31.2 KB
Loading

docs/3-web-servers/04-http-server/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ server.listen(3000);
5757

5858
### 課題
5959

60-
1. `Hello World``Hello` の部分を太字で表示されるようにしてみましょう。
60+
1. 次の画像のように `Hello World``Hello` の部分にハイパーリンクを設定してみましょう。
61+
![HTTP サーバーの課題](./http-server-exercise.png)
6162
2. `response.write` の前に `console.log` を実行するようプログラムを変更してみましょう。`console.log` はいつ実行されますか?
6263
3. 作成した JavaScript ファイルを、デバッガを用いて実行し、`response.write` の行にブレークポイントを設置してみましょう。ブレークポイントでプログラムの実行が止まったら、`request` 引数と `response` 引数の内部がどうなっているか確認してみましょう。
6364
4. `response.end` を実行しない場合、どのような挙動を示すでしょうか。

0 commit comments

Comments
 (0)