回答編集履歴
10
テキスト修正
answer
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
- [「開眼!JavaScript」サンプルコード#2/4 第5-8章 - 6章 this](https://qiita.com/jun68ykt/items/9f67fb1de2af9a96bf8a#6%E7%AB%A0-this) (jun68ykt@Qiita)
|
40
40
|
|
41
|
-
は、(手前味噌で恐縮ですが)この第6章のサンプルコード
|
41
|
+
は、(手前味噌で恐縮ですが)この第6章のサンプルコード一覧です。
|
42
42
|
|
43
43
|
|
44
44
|
以上、参考になれば幸いです。
|
9
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは。
|
2
2
|
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
3
|
-
その一助と
|
3
|
+
その一助となればと考え、定評ある書籍から`this`についての説明やサンプルコードを、以下引用しました。
|
4
4
|
|
5
5
|
### 「JavaScript Ninjaの極意」
|
6
6
|
|
8
テキスト修正
answer
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
こんにちは。
|
2
2
|
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
3
|
+
その一助として頂ければと考え、定評ある書籍から`this`についての説明やサンプルコードを、以下引用しました。
|
3
4
|
|
4
|
-
その一助として `this`についての説明やサンプルコードを定評ある書籍から、以下を引用しました。
|
5
|
-
|
6
5
|
### 「JavaScript Ninjaの極意」
|
7
6
|
|
8
7
|
jQueryの開発者 [ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんは、以下のように `this` を **呼び出しコンテクスト** と呼ぶことを推奨しています。
|
7
テキスト修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
こんにちは。
|
2
2
|
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
3
3
|
|
4
|
-
その一助と
|
4
|
+
その一助として `this`についての説明やサンプルコードを定評ある書籍から、以下を引用しました。
|
5
5
|
|
6
6
|
### 「JavaScript Ninjaの極意」
|
7
7
|
|
6
テキスト修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
### 「JavaScript Ninjaの極意」
|
7
7
|
|
8
|
-
jQueryの開発者
|
8
|
+
jQueryの開発者 [ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんは、以下のように `this` を **呼び出しコンテクスト** と呼ぶことを推奨しています。
|
9
9
|
|
10
10
|
> this パラメータが指し示すものは、実際には(Javaのように)その関数が宣言された方法によって定義されるのではなく、その関数が呼び出された方法によって定義される。だから thisは **呼び出しコンテクスト(invocation context)**と呼ぶのが正しい。※
|
11
11
|
|
5
テキスト修正
answer
CHANGED
@@ -1,21 +1,23 @@
|
|
1
1
|
こんにちは。
|
2
2
|
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
3
3
|
|
4
|
-
その一助となるように `this`についての説明
|
4
|
+
その一助となるように `this`についての説明やサンプルコードを定評ある書籍から引用して、以下に挙げておきます。
|
5
5
|
|
6
|
+
### 「JavaScript Ninjaの極意」
|
7
|
+
|
8
|
+
jQueryの開発者の[ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんは、以下のように `this` を **呼び出しコンテクスト** と呼ぶことを推奨しています。
|
9
|
+
|
6
10
|
> this パラメータが指し示すものは、実際には(Javaのように)その関数が宣言された方法によって定義されるのではなく、その関数が呼び出された方法によって定義される。だから thisは **呼び出しコンテクスト(invocation context)**と呼ぶのが正しい。※
|
7
11
|
|
8
12
|
>
|
9
13
|
|
10
14
|
> ※__[訳注] 事実、David Flanagan の「JavaScript 第6版」(村上列訳、オライリー・ジャパン、2012年)では、原著の英文も訳文も、このように書かれている(同著の第8章の冒頭部分を参照)。本書でも、「関数コンテクスト」(function context)という呼び方を排して、「呼び出しコンテクスト」という訳語で統一した。__
|
11
15
|
|
12
|
-
|
13
|
-
- 以上、[「JavaScript Ninjaの極意」](https://www.amazon.co.jp/dp/4798128457) 3.3節 関数の呼び出し P.52 より引用
|
16
|
+
- 以上、[「JavaScript Ninjaの極意」](https://www.amazon.co.jp/dp/4798128457) 3.3節 関数の呼び出し P.52 より引用
|
14
17
|
|
15
|
-
なお、上記の書籍の筆者は、jQueryの開発者の[ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんです。
|
16
18
|
|
17
19
|
|
18
|
-
###
|
20
|
+
### 「開眼! JavaScript」 第6章 this サンプルコード
|
19
21
|
|
20
22
|
もう一冊、 `this` の理解のための良書を挙げておきます。
|
21
23
|
|
@@ -38,4 +40,6 @@
|
|
38
40
|
- [「開眼!JavaScript」サンプルコード#2/4 第5-8章 - 6章 this](https://qiita.com/jun68ykt/items/9f67fb1de2af9a96bf8a#6%E7%AB%A0-this) (jun68ykt@Qiita)
|
39
41
|
|
40
42
|
は、(手前味噌で恐縮ですが)この第6章のサンプルコードのURL一覧です。
|
43
|
+
|
44
|
+
|
41
45
|
以上、参考になれば幸いです。
|
4
テキスト修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
こんにちは。
|
2
2
|
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
3
3
|
|
4
|
-
|
4
|
+
その一助となるように `this`についての説明文を定評ある書籍から引用して、以下に挙げておきます。
|
5
5
|
|
6
6
|
> this パラメータが指し示すものは、実際には(Javaのように)その関数が宣言された方法によって定義されるのではなく、その関数が呼び出された方法によって定義される。だから thisは **呼び出しコンテクスト(invocation context)**と呼ぶのが正しい。※
|
7
7
|
|
3
テキスト修正
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
こんにちは。
|
2
|
+
maisumakunさんのご回答を手がかりとして、ご自身の理解を整理されるのがよろしいかと思います。
|
2
3
|
|
3
|
-
|
4
|
+
この回答では、その一助となるように `this`についての説明文を定評ある書籍から引用して挙げておきます。
|
4
5
|
|
5
6
|
> this パラメータが指し示すものは、実際には(Javaのように)その関数が宣言された方法によって定義されるのではなく、その関数が呼び出された方法によって定義される。だから thisは **呼び出しコンテクスト(invocation context)**と呼ぶのが正しい。※
|
6
7
|
|
@@ -13,11 +14,11 @@
|
|
13
14
|
|
14
15
|
なお、上記の書籍の筆者は、jQueryの開発者の[ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんです。
|
15
16
|
|
16
|
-
---
|
17
|
-
**追記**
|
18
17
|
|
19
|
-
|
18
|
+
### 追記
|
20
19
|
|
20
|
+
もう一冊、 `this` の理解のための良書を挙げておきます。
|
21
|
+
|
21
22
|
- [開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質](https://www.amazon.co.jp/dp/487311621X)
|
22
23
|
|
23
24
|
この本では第6章全体を割いて、`this`について説明しています。章の内容は以下です。
|
@@ -32,9 +33,9 @@
|
|
32
33
|
6.7 プロトタイプメソッド内のthisは生成されるインスタンスを参照する
|
33
34
|
```
|
34
35
|
|
35
|
-
また、
|
36
|
+
また、サンプルコードが jsFiddle で提供されており、以下の記事
|
36
37
|
|
37
38
|
- [「開眼!JavaScript」サンプルコード#2/4 第5-8章 - 6章 this](https://qiita.com/jun68ykt/items/9f67fb1de2af9a96bf8a#6%E7%AB%A0-this) (jun68ykt@Qiita)
|
38
39
|
|
39
|
-
|
40
|
+
は、(手前味噌で恐縮ですが)この第6章のサンプルコードのURL一覧です。
|
40
41
|
以上、参考になれば幸いです。
|
2
テキスト修正
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
---
|
17
17
|
**追記**
|
18
18
|
|
19
|
-
もう
|
19
|
+
もう一冊、 `this` の理解のための良書を挙げます。
|
20
20
|
|
21
21
|
- [開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質](https://www.amazon.co.jp/dp/487311621X)
|
22
22
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
6.7 プロトタイプメソッド内のthisは生成されるインスタンスを参照する
|
33
33
|
```
|
34
34
|
|
35
|
-
また、この本ではサンプルコードが jsFiddle で提供されており、以下の記事は、(手前味噌になりますが、) この第6章のサンプルコードの一覧です。
|
35
|
+
また、この本ではサンプルコードが jsFiddle で提供されており、以下の記事は、(手前味噌になりますが、) この第6章のサンプルコードのURL一覧です。
|
36
36
|
|
37
37
|
- [「開眼!JavaScript」サンプルコード#2/4 第5-8章 - 6章 this](https://qiita.com/jun68ykt/items/9f67fb1de2af9a96bf8a#6%E7%AB%A0-this) (jun68ykt@Qiita)
|
38
38
|
|
1
テキスト修正
answer
CHANGED
@@ -13,5 +13,28 @@
|
|
13
13
|
|
14
14
|
なお、上記の書籍の筆者は、jQueryの開発者の[ジョン・レシグ](https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3%82%B7%E3%82%B0) さんです。
|
15
15
|
|
16
|
+
---
|
17
|
+
**追記**
|
16
18
|
|
19
|
+
もう1冊、 `this` の理解のための良書を挙げます。
|
20
|
+
|
21
|
+
- [開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質](https://www.amazon.co.jp/dp/487311621X)
|
22
|
+
|
23
|
+
この本では第6章全体を割いて、`this`について説明しています。章の内容は以下です。
|
24
|
+
```
|
25
|
+
6章 this
|
26
|
+
6.1 thisとは何か、およびthisは何を参照するか
|
27
|
+
6.2 thisの値はどのように決められるのか?
|
28
|
+
6.3 入れ子関数内では、thisはグローバルオブジェクトを参照する
|
29
|
+
6.4 入れ子関数内でthisを見失う問題をスコープチェーンを使って回避する
|
30
|
+
6.5 call()やapply()を使ってthisの値をコントロールする
|
31
|
+
6.6 thisキーワードをユーザ定義のコンストラクタ関数で使う
|
32
|
+
6.7 プロトタイプメソッド内のthisは生成されるインスタンスを参照する
|
33
|
+
```
|
34
|
+
|
35
|
+
また、この本ではサンプルコードが jsFiddle で提供されており、以下の記事は、(手前味噌になりますが、) この第6章のサンプルコードの一覧です。
|
36
|
+
|
37
|
+
- [「開眼!JavaScript」サンプルコード#2/4 第5-8章 - 6章 this](https://qiita.com/jun68ykt/items/9f67fb1de2af9a96bf8a#6%E7%AB%A0-this) (jun68ykt@Qiita)
|
38
|
+
|
39
|
+
|
17
|
-
参考になれば幸いです。
|
40
|
+
以上、参考になれば幸いです。
|