@@ -9,39 +9,36 @@ import ViewSource from "@site/src/components/ViewSource";
99
1010<p ><Term type =" javascriptVariable " >変数</Term >を用いると、<Term type =" javascriptValue " >値</Term >を一時的に保存し、再利用することができます。数学における変数は通常数値を表すものですが、プログラムにおける<Term type =" javascriptVariable " >変数</Term >は、<Term type =" javascriptString " >文字列</Term >等を含め、全ての種類の「<Term type =" javascriptValue " >値</Term >」を格納することができます。</p >
1111
12- ## <Term type =" javascriptVariable " >変数</Term >の宣言と使用
12+ ## <Term type =" javascriptVariable " >変数</Term >の< Term type = " javascriptDeclaration " >宣言</ Term >と使用
1313
1414<p ><Term type =" javascriptVariable " >変数</Term >を使用するには、まず<Term type =" javascriptVariable " >変数</Term >を<Term strong type =" javascriptDeclaration " >宣言</Term >する必要があります。</p >
1515
1616``` javascript title="script.js"
17- let myGreatName;
18- myGreatName = " Becky Jones" ;
17+ let myGreatName = " Becky Jones" ;
1918document .write (myGreatName);
2019```
2120
22- 1 行目の ` let myGreatName; ` で、` myGreatName ` という名前の<Term type =" javascriptVariable " >変数</Term >を<Term type =" javascriptDeclaration " >宣言</Term >しています。` let ` は、<Term type =" javascriptVariable " >変数</Term >を<Term type =" javascriptDeclaration " >宣言</Term >するためのキーワードです。
21+ ` 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 >と呼びます。
22+
23+ 2 行目では、<Term type =" javascriptVariable " >変数</Term > ` myGreatName ` が<Term type =" javascriptEvaluation " >評価</Term >され、<Term type =" javascriptAssignment " >代入</Term >されていた<Term type =" javascriptString " >文字列</Term ><Term type =" javascriptValue " >値</Term > ` "Becky Jones" ` が画面に表示されます。
2324
24- 続いて 2 行目では、< Term type =" javascriptVariable " >変数</Term > ` myGreatName ` に文字列 ` "Becky Jones" ` を<Term strong type =" javascriptAssignment " >代入 </Term >しています。 ` = ` は< Term type = " javascriptAssignment " >代入</ Term >を表し、左側に指定した< Term type = " javascriptVariable " >変数</ Term >に対し、右側に指定された< Term type = " javascriptValue " >値</ Term >を< Term type = " javascriptAssignment " >代入</ Term >します。
25+ < p >< Term type =" javascriptVariable " >変数</Term >を<Term type =" javascriptDeclaration " >宣言 </Term >するキーワードには、< code >let</ code > 以外にも< code >const</ code > というものがあります。記法自体は< code >let</ code > と同様です。</ p >
2526
26- 3 行目では、<Term type =" javascriptVariable " >変数</Term > ` myGreatName ` が<Term type =" javascriptEvaluation " >評価</Term >され、<Term type =" javascriptAssignment " >代入</Term >されていた<Term type =" javascriptString " >文字列</Term ><Term type =" javascriptValue " >値</Term > ` "Becky Jones" ` が画面に表示されます。
27+ ``` javascript title="script.js"
28+ const myGrateName = " Becky Jones" ;
29+ document .write (myGrateName);
30+ ```
2731
28- 上の例では 、` my great name ` というフレーズを、` myGreatName ` のように記述しています。
32+ ここまでの例では 、` my great name ` というフレーズを、` myGreatName ` のように記述しています。
2933
3034このように、複数の単語にわたるフレーズを、2 語目以降の先頭の文字を大文字にして結合する命名規則を、<Term strong type =" camelCase " >キャメルケース</Term >と呼びます。
3135
32- ::: note
36+ ::: info
3337
3438<p ><Term type =" javascript " >JavaScript</Term > の<Term type =" javascriptVariable " >変数</Term >名には、通常<Term type =" camelCase " >キャメルケース</Term >が用いられます。<Term type =" snakeCase " >スネークケース</Term >や<Term type =" pascalCase " >パスカルケース</Term >などの命名規則が利用される文法もあります。</p >
3539
3640:::
3741
38- <p ><Term type =" javascriptVariable " >変数</Term >の<Term type =" javascriptDeclaration " >宣言</Term >と同時に初回の<Term type =" javascriptAssignment " >代入</Term >を行うこともできます。</p >
39-
40- ``` javascript title="script.js"
41- let myGreatName = " Becky Jones" ;
42- document .write (myGreatName);
43- ```
44-
4542::: tip
4643
4744<Term type =" javascriptVariable " >変数</Term >や<Term type =" javascriptFunction " >関数</Term >は適切に命名することが大切です。以下の例を見てみましょう。
@@ -59,24 +56,27 @@ const numberOfItems = 3;
5956const paymentTotal = pricePerItem * numberOfItems;
6057document .write (paymentTotal);
6158```
62- この二つでは、コードを通じて書きたいことの分かりやすさが全く違います。他人と開発を行うときや、過去のコードを自分が書き換えるときには、コードの可読性が求められます。変数名は多少長くなっても良いので、とにかく分かりやすいことを心がけましょう。
59+
60+ この二つでは、前者は何を言いたいのかさっぱりですが、後者はコードを通じて書きたいことが分かりやすく、後から読み返しても困りません。他人と開発を行うときや、過去のコードを自分が書き換えるときには、コードの可読性が必要になります。変数名は多少長くなっても良いので、とにかく分かりやすいことを心がけましょう。
6361
6462:::
6563
66- ## <Term type =" javascriptVariable " >変数</Term >の性質
64+ ## <Term type =" javascriptVariable " >変数</Term >の再代入
6765
68- < p >< Term type = " javascriptVariable " >変数</ Term >には、最後に <Term type =" javascriptAssignment " >代入</Term >された <Term type =" javascriptValue " >値 </Term >のみを保持する性質があります。</ p >
66+ ` let ` と ` const ` の大きな違いは、再 <Term type =" javascriptAssignment " >代入</Term >ができるかです。 ` let ` では再 <Term type =" javascriptAssignment " >代入 </Term >が可能ですが、 ` const ` はできません。
6967
7068``` javascript title="script.js"
7169let mysteriousNumber = 0 ;
7270mysteriousNumber = 1 ;
7371mysteriousNumber = 2 ;
74- document .write (mysteriousNumber);
72+ document .write (mysteriousNumber); // 2
7573```
7674
77- 変数 ` mysteriousNumber ` は 3 回<Term type =" javascriptAssignment " >代入</Term >されていますが、最後に<Term type =" javascriptAssignment " >代入</Term >された ` 2 ` が表示されます。
75+ 上の例では、<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 ` が表示されます。
76+
77+ 一方、` const ` で<Term type =" javascriptDeclaration " >宣言</Term >された<Term type =" javascriptVariable " >変数</Term >は、再<Term type =" javascriptAssignment " >代入</Term >ができません。すなわち、<Term type =" javascriptValue " >値</Term >の書き換えができません。上記のコードの` let ` を` const ` に置き換えると、エラーが発生します。
7878
79- それでは、以下の場合はどうでしょうか 。
79+ ` let ` を使った< Term type = " javascriptVariable " >変数</ Term >の< Term type = " javascriptDeclaration " >宣言</ Term >について、もう少し見てみましょう 。
8080
8181``` javascript title="script.js"
8282let price = 100 ;
@@ -90,37 +90,6 @@ document.write(price);
9090
9191![ 変数の再代入] ( ./reassignment-evaluation.png )
9292
93- ## constによる<Term type =" javascriptVariable " >変数</Term >の宣言
94-
95- 変数の宣言には` let ` だけでなく` const ` も用いることができます。
96-
97- ``` javascript title="script.js"
98- const myGrateName = " Becky Jones" ;
99- document .write (myGrateName);
100- ```
101-
102- ### constとletの違い
103-
104- ` let ` と` const ` の違いは再<Term type =" javascriptAssignment " >代入</Term >ができるかどうかです。` let ` を使う時には次のようなことができました。
105-
106- ``` javascript title="script.js"
107- let mysteriousNumber = 0 ;
108- mysteriousNumber = 1 ;
109- mysteriousNumber = 2 ;
110- document .write (mysteriousNumber);
111- ```
112-
113- 変数に値を(再)<Term type =" javascriptAssignment " >代入</Term >することで、変数に保存されているデータを書き換えることができました。一方で、` const ` を使った場合は変数に保存される値が固定され、書き換えができなくなります。上のコードを` const ` に書き換えて実行しても、思った通りには表示されないはずです。
114-
115- ::: info
116-
117- ` const ` を使う時には、宣言時に値を代入する必要があります。
118-
119- ` let ` と同じように` const 変数名; ` と書くと、実行時にエラーが発生します。
120-
121- :::
122-
12393### constとletの用途
12494
125- ` const ` と` let ` は用途によって使い分けがあります。基本的には、意図せず値を書き換えてしまうことを防ぐために` const ` が使われます。` let ` が必要な場合は様々ですが、状態を保存しておくための変数を宣言することに使われることが多いです。
126- [ 繰り返し] ( ./../08-loop/ ) の章にあるカウンタ変数がその一例です。他にも、変数の値を踏まえて条件分岐を行うなど、様々な用途があります。
95+ ` const ` と` let ` は用途によって使い分けがあります。基本的には、意図せず<Term type =" javascriptValue " >値</Term >を書き換えてしまうことを防ぐために` const ` が使われます。` let ` が必要な場合は様々ですが、状態を保存しておくための<Term type =" javascriptVariable " >変数</Term >を<Term type =" javascriptDeclaration " >宣言</Term >することに使われることが多いです。[ 繰り返し] ( ./../08-loop/ ) の章にあるカウンタ<Term type =" javascriptVariable " >変数</Term >がその一例です。他にも、<Term type =" javascriptVariable " >変数</Term >の値を踏まえて条件分岐を行うなど、様々な用途があります。
0 commit comments