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

質問編集履歴

3

加筆

2020/10/08 17:59

投稿

owly
owly

スコア3

title CHANGED
File without changes
body CHANGED
@@ -26,4 +26,4 @@
26
26
  ・なぜ➁があると、`obj2 = obj1`による代入が、最後の`obj2`に効かないのか?(➀の宣言に対して効かないのか?)
27
27
  ・なぜ➁がないと、`obj2 = obj1`による代入が、最後の`obj2`に効くのか?(➀の宣言に対して効くのか?)
28
28
 
29
- という方向でご解説頂けましたら幸いです。
29
+ という方向でご解説頂けましたら幸いです。(➁の有無で、➀の宣言に対して効いたり効かなかったり、とスコープの範囲が変わる点が納得いきません)

2

加筆

2020/10/08 17:59

投稿

owly
owly

スコア3

title CHANGED
File without changes
body CHANGED
@@ -21,4 +21,9 @@
21
21
  上記の➁を削除するときちんと「元のデータ」の`obj1`があります。
22
22
  つまり➁が`obj1`を削除する要因になっているのですが、なぜなのかわかりません。
23
23
 
24
- だって➁は`obj2`を初期化して空のオブジェクトとして扱っているだけで、その下の`obj2 = obj1`によって`obj2`には`obj1`が入るはずですから、`obj1`を削除する要因になるという理屈が理解できないのです。
24
+ だって➁は`obj2`を初期化して空のオブジェクトとして扱っているだけで、その下の`obj2 = obj1`によって`obj2`には`obj1`が入るはずですから、`obj1`を削除する要因になるという理屈が理解できないのです。
25
+
26
+ ・なぜ➁があると、`obj2 = obj1`による代入が、最後の`obj2`に効かないのか?(➀の宣言に対して効かないのか?)
27
+ ・なぜ➁がないと、`obj2 = obj1`による代入が、最後の`obj2`に効くのか?(➀の宣言に対して効くのか?)
28
+
29
+ という方向でご解説頂けましたら幸いです。

1

elseが不要だったので削除

2020/10/08 17:57

投稿

owly
owly

スコア3

title CHANGED
File without changes
body CHANGED
@@ -5,10 +5,8 @@
5
5
  const obj1 = {initdata:'元のデータ'};
6
6
  let obj2 = {}; // ➀
7
7
 
8
- if( false ){
8
+ if( true ){
9
9
 
10
- }else{
11
-
12
10
  let obj2 = {}; // ➁
13
11
 
14
12
  if( true ){