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

回答編集履歴

2

追記

2017/11/26 03:19

投稿

amadablam
amadablam

スコア413

answer CHANGED
@@ -1,8 +1,12 @@
1
+ 基本の考え方は「オブジェクト.メソッド()」=「主体.処理()」という記述です。
1
- 「オブジェクト.メソッド()」という呼び出しにおいて、メソッドが返す値がオブジェクトであるならば、さらにそのオブジェクトのメソッドを呼び出すことが可能です。
2
+ そしてこの「オブジェクト.メソッド()」という呼び出しにおいて、メソッドが返す値がオブジェクトであるならば、さらにそのオブジェクトのメソッドを呼び出すことが可能です。
2
3
  提示の例では、documentオブジェクトのgetElementByIdメソッドはElementオブジェクトを返すため、そのElementオブジェクトのtextContentメソッドを呼び出しているということです。
3
4
  すなわち以下コードを1行で記述しているだけです。
4
5
 
5
6
  ```javascript
6
7
  var elem = document.getElementById("myid");
7
8
  elem.textContent();
8
- ```
9
+ ```
10
+
11
+ このような「オブジェクト.メソッド().メソッド()...」のような呼び出しを「メソッド・チェーン」と呼びます。
12
+ メソッド・チェーンをきちんと理解するためには、呼び出したメソッドが単なるリテラル値(数値など)を返すのかオブジェクトを返すのか、またオブジェクトを返すのであればどのようなオブジェクトを返すのかをAPIリファレンスで調べながら学習することが重要になります。

1

修正および追加

2017/11/26 03:19

投稿

amadablam
amadablam

スコア413

answer CHANGED
@@ -1,3 +1,8 @@
1
1
  「オブジェクト.メソッド()」という呼び出しにおいて、メソッドが返す値がオブジェクトであるならば、さらにそのオブジェクトのメソッドを呼び出すことが可能です。
2
- 提示の例では、documentオブジェクトのgetElementByIdメソッドはElementオブジェクトを返すため、その
2
+ 提示の例では、documentオブジェクトのgetElementByIdメソッドはElementオブジェクトを返すため、そのElementオブジェクトのtextContentメソッドを呼び出しているということです。
3
+ すなわち以下コードを1行で記述しているだけです。
4
+
5
+ ```javascript
3
- ElementオブジェクトのtextContentメソッドを呼び出しているということです。
6
+ var elem = document.getElementById("myid");
7
+ elem.textContent();
8
+ ```