teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

誤記の修正

2019/07/05 00:16

投稿

foobar810
foobar810

スコア217

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  引数である`flagboolean`はこの関数スコープ内の新たに定義された変数となります。
2
2
  この関数内で`flagboolean`に値を代入した場合は、関数スコープ内の`flagboolean`に値が代入されます。
3
3
 
4
- この場合に、冒頭で定義した`flagboolean`の値を書き換えたいなら、以下の書けます。
4
+ この場合に、冒頭で定義した`flagboolean01`の値を書き換えたいなら、以下の書けます。
5
5
  ```javascript
6
6
  let flagboolean01 = false;
7
7
 

2

誤りの修正

2019/07/05 00:15

投稿

foobar810
foobar810

スコア217

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  引数である`flagboolean`はこの関数スコープ内の新たに定義された変数となります。
2
- この関数内で`flagboolean`に値を代入した場合は、冒頭で定義した`flagboolean`ではなく、関数スコープ内の`flagboolean`に値が代入されます。名前は同じですが、全く別物です。
2
+ この関数内で`flagboolean`に値を代入した場合は、関数スコープ内の`flagboolean`に値が代入されます。
3
3
 
4
4
  この場合に、冒頭で定義した`flagboolean`の値を書き換えたいなら、以下の書けます。
5
5
  ```javascript
@@ -7,13 +7,13 @@
7
7
 
8
8
  const testFunc = function(){
9
9
  // いろいろな処理
10
- flagboolean = true;
10
+ flagboolean01 = true;
11
11
  }
12
12
 
13
13
  testFunc();
14
14
  ```
15
15
 
16
- この様に引数を取らない様にすれば、スコープ内に`flagboolean`が用意されないため、代入時には、静的スコープの性質から、一つ外のスコープ内にある冒頭に定義した`flagboolean`に値を代入することになります。
16
+ 代入時には、静的スコープの性質から、一つ外のスコープ内にある冒頭に定義した`flagboolean01`に値を代入することになります。
17
17
 
18
18
  ただ、関数内から関数外の値を操作するのは今回のケースではお勧めできないので、以下のように関数が値を返す方が良いでしょう。
19
19
 

1

説明を追加

2019/07/05 00:14

投稿

foobar810
foobar810

スコア217

answer CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  この様に引数を取らない様にすれば、スコープ内に`flagboolean`が用意されないため、代入時には、静的スコープの性質から、一つ外のスコープ内にある冒頭に定義した`flagboolean`に値を代入することになります。
17
17
 
18
- もう一つ、以下のように関数が値を返すようにすることもきます
18
+ ただ関数内から関数外の値を操作するのは今回のケースではお勧めできないので、以下のように関数が値を返す方が良いしょう
19
19
 
20
20
  ```javascript
21
21
  let flagboolean01 = false;