回答編集履歴

2

this

2019/07/30 00:00

投稿

think49
think49

スコア18164

test CHANGED
@@ -7,6 +7,58 @@
7
7
  基本を押さえずに、比較しても理解できません。
8
8
 
9
9
  https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Creating_New_Objects/Using_a_Constructor_Function
10
+
11
+
12
+
13
+ ### this
14
+
15
+
16
+
17
+ > たとえば1つ目のbornYear()はなぜthisでpersonを取得できるのか不思議です。
18
+
19
+
20
+
21
+ `this` は `person` ではありません。
22
+
23
+ 個人サイトには、下記の表現で説明しているところがありますが、
24
+
25
+
26
+
27
+ - this は person である
28
+
29
+ - this は自身である
30
+
31
+ - thisはコンストラクタそのものである
32
+
33
+
34
+
35
+ 比較すれば、**間違っている事は明らか**なので、信用しないで下さい。
36
+
37
+
38
+
39
+ ```JavaScript
40
+
41
+ console.log(this === person);
42
+
43
+ ```
44
+
45
+
46
+
47
+ 等価性を期待するなら、下記コードになります。
48
+
49
+
50
+
51
+ ```JavaScript
52
+
53
+ console.log(Object.getPrototypeOf(this) === person.prototype);
54
+
55
+ ```
56
+
57
+
58
+
59
+ この原理を把握するには、**プロトタイプチェーン**を理解する必要があります。
60
+
61
+ https://teratail.com/search?q=prototype+chain
10
62
 
11
63
 
12
64
 

1

応用が利かなくなる

2019/07/30 00:00

投稿

think49
think49

スコア18164

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ### 年齢から誕生年逆算
13
+ ### 年齢から誕生年逆算
14
14
 
15
15
 
16
16
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  改善案として、「名前」「誕生日」をインスタンスプロパティに持つコンストラクタまたは、class構文があります。
26
26
 
27
- が、**ベストなコードを暗記**する学習法はお勧めしません。
27
+ が、**ベストなコードを暗記する学習法**応用が利かなくなるので、お勧めしません。
28
28
 
29
29
 
30
30