File tree 1 file changed +18
-1
lines changed
1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -35,9 +35,26 @@ jQuery.fn = jQuery.prototype = {
35
35
$(document.body); // 返り値はjQueryのインスタンス
36
36
```
37
37
38
-
39
38
つまり、jQueryプラグインはJavaScriptのprototypeをそのまま利用しているだけに過ぎないということがわかります。
40
39
40
+ ## どういう用途に向いている?
41
+
42
+ jQueryプラグインの仕組みがわかったのでどういう用途に有効な仕組みなのか考えてみましょう。
43
+
44
+ 単純なprototype拡張であると言えるので、利点はJavaScriptのprototypeと同様と言えるかもしれません。
45
+ 動的にメソッドを追加するだけではなく、既存の実装を上書きするmonkey patchのようなものもプラグインとして追加することができます。
46
+
47
+ ## どういう用途に向いていない?
48
+
49
+ これもJavaScriptのprototypeと同様で、prototypeによる拡張は柔軟すぎるため、
50
+ jQuery自体がプラグインのコントロールをすることが難しいです。
51
+
52
+ また、プラグインが拡張するjQueryの実装に依存し易いため、
53
+ jQueryのバージョンによって動かなくなるプラグインが発生しやすいです。
54
+
55
+ jQueryではそこをどうやってカバーしているかというと、
56
+ ドキュメント化されてないAPIは触っていけないというルールを設けているだけとなっています。
57
+
41
58
## 実装してみよう
42
59
43
60
` calculator ` という拡張可能な計算機をjQuery Pluginと同じ方法で作ってみたいと思います。
You can’t perform that action at this time.
0 commit comments