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

回答編集履歴

2

グローバル・ローカルスコープではなく、ブロックスコープであるという内容に変更

2020/10/09 04:30

投稿

miyabi_pudding
miyabi_pudding

スコア9572

answer CHANGED
@@ -1,13 +1,13 @@
1
1
  ②がある場合は、
2
- `obj2`は、ifブロック内限定のローカル変数となり、そもそも、
2
+ `obj2`は、ifブロック内スコープ限定の変数となり、そもそも、
3
- **グローバルスコープの`obj2`**に代入が行えなくなるからです。
3
+ **その外側スコープの`obj2`**に代入が行えなくなるからです。
4
4
 
5
5
  > obj2 = obj1による代入が、最後のobj2に効かないのか?
6
6
 
7
7
  効かないのではなく、**そもそも別物になる**、ってことです。
8
8
 
9
9
  そういった事を考えるならば、
10
- 今回のケースでは特に、**ローカルスコープでグロバルと同名の変数は宣言すべきではない**と言えます。
10
+ 今回のケースでは特に、**内側スコープで、その外側スコプの変数と同名の変数は宣言すべきではない**と言えます。
11
11
 
12
12
  今回のように短いコードなら特に問題なくとも、
13
13
  規模が大きくなればなるほど、

1

別物になることを強調

2020/10/09 04:30

投稿

miyabi_pudding
miyabi_pudding

スコア9572

answer CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  > obj2 = obj1による代入が、最後のobj2に効かないのか?
6
6
 
7
- 効かないのではなく、そもそも別物になる、ってことです。
7
+ 効かないのではなく、**そもそも別物になる**、ってことです。
8
8
 
9
9
  そういった事を考えるならば、
10
10
  今回のケースでは特に、**ローカルスコープでグローバルと同名の変数は宣言すべきではない**と言えます。