Skip to content

Commit d6cc352

Browse files
Merge branch 'master' into combine-http-and-express
2 parents c5dee90 + fd225cd commit d6cc352

File tree

7 files changed

+74
-32
lines changed

7 files changed

+74
-32
lines changed

docs/1-trial-session/01-get-started/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import openFolderVideo from "./open-folder.mp4";
1010

1111
**Visual Studio Code** (以下 VS Code) は、Microsoft 社が開発するテキストエディタです。多くの開発者に使用されています。
1212

13-
Visual Studio Code は、[公式サイト](https://code.visualstudio.com/Download)からインストールできます。まだインストールが終わっていない場合はインストールしておきましょう。
13+
Visual Studio Code は、[公式サイト](https://code.visualstudio.com)からインストールできます。まだインストールが終わっていない場合はインストールしておきましょう。
1414

1515
<video src={installVscodeVideo} controls />
1616

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
let i = 1;
22
let sum = 0;
33
while (i <= 10) {
4-
sum += i;
5-
i += 1;
4+
sum = sum + i;
5+
i = i + 1;
66
}
77
document.write(sum);

docs/1-trial-session/08-loop/index.md

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ while 文を用いると、ある条件が満たされている間実行され
1616
let i = 0;
1717
while (i < 5) {
1818
document.write(i);
19-
i += 1;
19+
i = i + 1;
2020
}
2121
document.write("終了");
2222
```
@@ -43,7 +43,7 @@ while (条件式) {
4343

4444
1 から 10 までの整数の合計を計算するプログラムを作ってみましょう。
4545

46-
:::tip ヒント
46+
:::tip
4747

4848
`1` から `10` まで順番に増えていく変数 `i` と、合計値を保存しておく変数 `sum` を用意しましょう。
4949

@@ -55,8 +55,8 @@ while (条件式) {
5555
let i = 1;
5656
let sum = 0;
5757
while (i <= 10) {
58-
sum += i;
59-
i += 1;
58+
sum = sum + i;
59+
i = i + 1;
6060
}
6161
document.write(sum);
6262
```
@@ -65,6 +65,46 @@ document.write(sum);
6565

6666
</Answer>
6767

68+
:::tip 複合代入演算子
69+
70+
[**複合代入演算子**](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#%E4%BB%A3%E5%85%A5%E6%BC%94%E7%AE%97%E5%AD%90) は、計算と代入を同時に行うことができる演算子です。
71+
72+
`x += y` は、`x = x + y` という意味になります。他にも `-=``*=` などの演算子が定義されています。`x -= y``x = x - y``x *= y``x = x * y` という意味になります。
73+
74+
複合代入演算子を用いると、
75+
76+
```javascript
77+
i = i + 1;
78+
```
79+
80+
は以下のように書き換えることができます。
81+
82+
```javascript
83+
i += 1;
84+
```
85+
86+
<!-- 教えるかどうか議論
87+
[**インクリメント演算子**](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Increment) は、与えられた変数に1を足します。
88+
一方、[**デクリメント演算子**](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Decrement) は、与えられた変数から1を引きます。
89+
90+
`x++` は `x = x + 1`(=`x += 1`)、 `y--` は `y = y - 1` (=`y -= 1`) という意味になります。
91+
インクリメント演算子を使うと、
92+
93+
```javascript
94+
i = i + 1;
95+
```
96+
97+
は以下のように書き換えることができます。
98+
99+
```javascript
100+
i++;
101+
```
102+
103+
-->
104+
105+
:::
106+
107+
68108
## for 文
69109

70110
`for` 文は、`while` 文にほんの少しだけ機能を追加したものになります。

docs/1-trial-session/09-functions/index.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,16 @@ greet("morning", "佐藤");
5151

5252
```javascript
5353
function add(a, b) {
54-
return a + b;
54+
const sum = a + b;
55+
return sum;
5556
}
5657

5758
document.write(add(3, 4));
5859
```
5960

60-
上の例の 4 行目で、<Term type="javascriptExpression">式</Term> `add(3, 4)` が<Term type="javascriptEvaluation">評価</Term>されると、 `a = 3, b = 4` として `add` <Term type="javascriptFunction">関数</Term>が実行されます。`add`<Term type="javascript">関数</Term>の中で<Term type="javascriptStatement">文</Term> `return a + b;` が実行されると、<Term type="javascriptExpression">式</Term> `a + b` が<Term type="javascriptEvaluation">評価</Term>され、`7` になります。これにより、 `add` <Term type="javascriptFunction">関数</Term>は `7` を<Term type="javascriptReturn">返し</Term>、<Term type="javascriptExpression">式</Term> `add(3, 4)` の<Term type="javascriptEvaluation">評価</Term>結果は `7` となります。
61+
上の例の 6 行目で、<Term type="javascriptExpression">式</Term> `add(3, 4)` が<Term type="javascriptEvaluation">評価</Term>されると、 `a = 3, b = 4` として `add` <Term type="javascriptFunction">関数</Term>が実行されます。`add`<Term type="javascript">関数</Term>の中で<Term type="javascriptStatement">文</Term> `const sum = a + b;` が実行されると、<Term type="javascriptExpression">式</Term> `a + b` が<Term type="javascriptEvaluation">評価</Term>され、`7` になります。これにより、`sum``7`が代入されます。
62+
次の行 `return sum;``add` <Term type="javascriptFunction">関数</Term>は <Term type="javascriptVariable">変数</Term> `sum` を<Term type="javascriptEvaluation">評価</Term>した結果である、`7` を<Term type="javascriptReturn">返します。</Term>
63+
そして<Term type="javascriptExpression">式</Term> `add(3, 4)` の<Term type="javascriptEvaluation">評価</Term>結果が `7` となります。
6164

6265
<video src={returnValueVideo} controls autoPlay muted loop />
6366

docs/1-trial-session/11-object/index.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,26 +50,11 @@ let person = {
5050

5151
ドット記号を用いることで、<Term type="javascriptObject">オブジェクト</Term>の<Term type="javascriptProperty">プロパティ</Term>を取得・変更できます。通常の<Term type="javascriptVariable">変数</Term>のように扱えます。
5252

53-
```javascript
54-
person.age = person.age + 1;
55-
document.write(person.age);
56-
```
57-
58-
:::tip 複合代入演算子
59-
60-
[複合代入演算子](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#%E4%BB%A3%E5%85%A5%E6%BC%94%E7%AE%97%E5%AD%90)は、計算と代入を同時に行うことができる演算子です。
61-
62-
`x += y` は、`x = x + y` という意味になります。他にも `-=``*=` などの演算子が定義されています。`x -= y``x = x - y``x *= y``x = x * y` という意味になります。
63-
64-
複合代入演算子を用いると、先ほどのプログラムは以下のように書くことができます。
65-
6653
```javascript
6754
person.age += 1;
6855
document.write(person.age);
6956
```
7057

71-
:::
72-
7358
## 課題
7459

7560
<p><Term type="javascriptObject">オブジェクト</Term>も<Term type="javascriptValue">値</Term>の一種なので、<Term type="javascriptFunction">関数</Term>の<Term type="javascriptParameter">引数</Term>や<Term type="javascriptReturnValue">戻り値</Term>として使用できます。</p>

docs/2-browser-apps/04-anonymous-function/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ document.getElementById("strange-button").onclick = () => {
4040

4141
JavaScript における関数式の構文は、次のとおりです。`=>` の記号が特徴的な構文となっています。
4242

43+
<!-- prettier-ignore -->
4344
```javascript
4445
(引数1, 引数2) => {
4546
処理;
46-
};
47+
}
4748
```
4849

4950
:::tip 無名関数を用いて関数定義を書き換える

src/components/Term/index.jsx

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,35 @@ export default function Term({ type, strong = false, children }) {
2222
const location = useLocation();
2323

2424
const wrap = (content) => {
25-
// 現在のページで用語が初出であればリンクを表示する必要がない
26-
const shouldLinkToReferencePage = Boolean(
27-
location.pathname !== term.referencePage &&
28-
location.pathname + "/" !== term.referencePage,
29-
);
25+
const shouldLinkToReferencePage = () => {
26+
// referencePageがundefinedならばリンクを表示しない
27+
if (term.referencePage === undefined) return false;
28+
29+
// referencePageTitleがundefinedならばエラーを投げる (明らかに人的ミスのため)
30+
if (referencePageTitle === undefined) {
31+
throw new Error(
32+
`The page title of the reference \n" ${term.referencePage} " \n is not defined in referencePageTitles in "src/components/Term/definition.js"`,
33+
);
34+
}
35+
36+
// referencePageの#アンカーを除外
37+
const referenceLink = term.referencePage.split("#")[0];
38+
// 現在のページで用語が初出であればリンクを表示する必要がない
39+
if (location.pathname === referenceLink) return false;
40+
if (location.pathname + "/" === referenceLink) return false;
41+
return true;
42+
};
3043

3144
return (
3245
<Tippy
3346
theme="material"
34-
interactive={shouldLinkToReferencePage}
47+
interactive={shouldLinkToReferencePage()}
3548
appendTo={window.document.body}
3649
content={
3750
<div className={styles.tooltipContent}>
3851
<header className={styles.tooltipContentHeader}>{term.name}</header>
3952
<div>{term.definition}</div>
40-
{shouldLinkToReferencePage && (
53+
{shouldLinkToReferencePage() && (
4154
<Link className={styles.tooltipLink} to={term.referencePage}>
4255
<span>{referencePageTitle}</span>
4356
<MdArrowForward size="1.2rem" />

0 commit comments

Comments
 (0)