Skip to content

Rewrite between html and if statement#392

Merged
chvmvd merged 15 commits into
masterfrom
rewrite-between-html-and-if-statement
Oct 8, 2023
Merged

Rewrite between html and if statement#392
chvmvd merged 15 commits into
masterfrom
rewrite-between-html-and-if-statement

Conversation

@sYakusHinineko
Copy link
Copy Markdown
Contributor

教材の該当箇所を修正。特に変数(05-variables)の章の構成を大きく変更。

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Sep 26, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: 44eed19
Status: ✅  Deploy successful!
Preview URL: https://4249c0d4.utcode-learn.pages.dev
Branch Preview URL: https://rewrite-between-html-and-if.utcode-learn.pages.dev

View logs

Comment thread docs/1-trial-session/02-html/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/07-if-statement/index.md Outdated
```

1 行目の `let myGreatName;` で、`myGreatName` という名前の<Term type="javascriptVariable">変数</Term>を<Term type="javascriptDeclaration">宣言</Term>しています。`let` は、<Term type="javascriptVariable">変数</Term>を<Term type="javascriptDeclaration">宣言</Term>するためのキーワードです
`let` は、<Term type="javascriptVariable">変数</Term>を<Term type="javascriptDeclaration">宣言</Term>するためのキーワードです。 1 行目では、`myGrateName` という名前の<Term type="javascriptVariable">変数</Term>を<Term type="javascriptDeclaration">宣言</Term>し、そこに`"Becky Jones"` という文字列を保存しています。<Term type="javascriptVariable">変数</Term>に`=` を使って<Term type="javascriptValue">値</Term>を保存することを<Term type="javascriptAssignment">代入</Term>と呼びます
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代入の定義に = があるのではなく、代入という操作があってその演算子として = を使う

2 行目では、<Term type="javascriptVariable">変数</Term> `myGreatName` <Term type="javascriptEvaluation">評価</Term>され、<Term type="javascriptAssignment">代入</Term>されていた<Term type="javascriptString">文字列</Term><Term type="javascriptValue">値</Term> `"Becky Jones"` が画面に表示されます

3 行目では、<Term type="javascriptVariable">変数</Term> `myGreatName` が<Term type="javascriptEvaluation">評価</Term>され、<Term type="javascriptAssignment">代入</Term>されていた<Term type="javascriptString">文字列</Term><Term type="javascriptValue">値</Term> `"Becky Jones"` が画面に表示されます。
<p><Term type="javascriptVariable">変数</Term><Term type="javascriptDeclaration">宣言</Term>するキーワードには、<code>let</code> 以外にも<code>const</code> というものがあります。記法自体は<code>let</code> と同様です。</p>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「〜というもの」が口語的

```javascript title="script.js"
let myGreatName = "Becky Jones";
document.write(myGreatName);
<Term type="javascriptVariable">変数</Term>や<Term type="javascriptFunction">関数</Term>は適切に命名することが大切です。以下の例を見てみましょう。
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

関数はまだ登場していない

Comment on lines +54 to +57
const pricePerItem = 500;
const numberOfItems = 3;
const paymentTotal = pricePerItem * numberOfItems;
document.write(paymentTotal);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

変数名の付け方があまり良くなさそう

```

<p><Term type="javascriptVariable">変数</Term>には、最後に<Term type="javascriptAssignment">代入</Term>された<Term type="javascriptValue">値</Term>のみを保持する性質があります。</p>
この二つでは、前者は何を言いたいのかさっぱりですが、後者はコードを通じて書きたいことが分かりやすく、後から読み返しても困りません。他人と開発を行うときや、過去のコードを自分が書き換えるときには、コードの可読性が必要になります。変数名は多少長くなっても良いので、とにかく分かりやすいことを心がけましょう。
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「何を言いたいのかさっぱり」が曖昧。「a, b, c」に何が入っているかわからない、と言えばいいと思います。
「コードの可読性が必要になります」、「必要」は言い過ぎで「重要」くらいの表現にするといいと思います。
挙げられている例で「可読性」が必要な理由は共通して「プログラムを書いた時に考えていたことを覚えていないから」なので、それは明示しておいてもいいかと思います。
「心掛ける」は自分の行動に対して使う言葉で「分かりやすい」に対応していないです。

```

変数 `mysteriousNumber` は 3 回<Term type="javascriptAssignment">代入</Term>されていますが、最後に<Term type="javascriptAssignment">代入</Term>された `2` が表示されます。
上の例では、<Term type="javascriptVariable">変数</Term>の<Term type="javascriptValue">値</Term>が次々と変化しています。`let` で<Term type="javascriptDeclaration">宣言</Term>された<Term type="javascriptVariable">変数</Term>は最後に<Term type="javascriptAssignment">代入</Term>された<Term type="javascriptValue">値</Term>のみを保持します。<Term type="javascriptVariable">変数</Term> `mysteriousNumber` は 3 回<Term type="javascriptAssignment">代入</Term>されていますが、最後に<Term type="javascriptAssignment">代入</Term>された `2` が表示されます。
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「変数は最後に格納された値のみを保持する」は宣言方法によらず「変数」という概念そのものの性質なので、あえて「letで」という必要はないと思います。
あとは3文の接続が薄いので適当な接続士を挟むと良いと思います。

Comment on lines +93 to +103
## constとletの用途

`const` と`let` は用途によって使い分けがあります。基本的には、意図せず<Term type="javascriptValue">値</Term>を書き換えてしまうことを防ぐために`const` が使われます。`let` が必要な場合は様々ですが、状態を保存しておくための<Term type="javascriptVariable">変数</Term>を<Term type="javascriptDeclaration">宣言</Term>することに使われることが多いです。[繰り返し](./../08-loop/index.md)の章にあるカウンタ<Term type="javascriptVariable">変数</Term>がその一例です。他にも、<Term type="javascriptVariable">変数</Term>の値を踏まえて条件分岐を行うなど、様々な用途があります。

```javascript title="script.js"
let i = 0;
while (i < 5) {
i += 1;
document.write("Hello world!");
}
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「基本的には const を使おう」とだけ言えれば十分だと思います。

- 18 歳以上 ~ 25 歳未満なら `投票に行けます` と表示する
- 25 歳以上なら `衆議院議員に立候補できます` と表示する

<Details summary={<summary>課題が解けたら…</summary>}>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

解答 -> 「こんな書き方してないですか」の順番の方が良さそう

@chvmvd
Copy link
Copy Markdown
Contributor

chvmvd commented Oct 5, 2023

@sYakusHinineko

aster-void added a commit that referenced this pull request Oct 7, 2023
@chvmvd
Copy link
Copy Markdown
Contributor

chvmvd commented Oct 7, 2023

とりあえず、すべて直しました!!!レビューお願いします。

@chvmvd chvmvd requested a review from chelproc October 7, 2023 11:59
Copy link
Copy Markdown
Contributor

@chvmvd chvmvd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@aster-void
Copy link
Copy Markdown
Contributor

aster-void commented Oct 7, 2023

諸事情でスマホから編集してるのでデバッグしてません、ごめんなさい🙏
他はLGTMです

Copy link
Copy Markdown
Contributor

@aster-void aster-void left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ビルド通ったので 👍

Comment thread docs/1-trial-session/03-javascript/index.md
Comment thread docs/1-trial-session/05-variables/index.md Outdated
Comment thread docs/1-trial-session/05-variables/index.md Outdated
@chvmvd
Copy link
Copy Markdown
Contributor

chvmvd commented Oct 7, 2023

@fridge0 対応しました!

@chvmvd chvmvd merged commit fb9fb61 into master Oct 8, 2023
@chvmvd chvmvd deleted the rewrite-between-html-and-if-statement branch October 8, 2023 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants