• 締切済み

prototype.jsはJSのラッパなのですか?

prototype.jsはJavaScriptのラッパといってもよいのでしょうか? また、jQueryはJSのラッパなのでしょうか? ラッパの概念がどうにも理解できず、困っています。教えてください。

みんなの回答

回答No.1

最も有名な$()関数はdocument.getElementById()のラッパーとしての機能がありますが、 Prototypeはそれだけではありません。 jQueryは根本的な考え方が違いますので、ラッパーとは言えないと思います。 言語、特にJavaScriptのラッパーという言葉は、長い関数名を短くしたり、ホストアプリケーション(ブラウザなど)の互換性を吸収するような関数に使われます。 ですから、○○関数が××関数のラッパーという言い方はできますが、 PrototypeやjQueryというフレームワークやライブラリ名に対して、何かのラッパーと言う言い方はできないと思います。 ただし、日本語の文化的、慣例的な表現として、品名をあげてその品の代表となる部分さす場合があります。 「この車はいい音を出すね。」(車が音を出すのではなく、エンジン音がいい音である。) このような表現においては、Prototypeはdocument.getElementById()のラッパーである、という言い方はできる事はできますが、 (Prototypeの代表は$()ですので、『$()はdocument.getElementById()のラッパーである』という意味) 誤解を生じやすい表現だと思うので、控えた方が良いと思います。 「この車はいい音を出すね。」 → クラクションがいい音である。またはドアを閉める音がいい音である。もしくはカーオーディオの音が。ともすればウインカーの音が、、、 なお、「JavaScriptのラッパー」という表現は、(曲解すれば理解できなくはないですが)できません。 PrototypeもjQueryもJavaScriptです。 P.S. ネタ的に、、、「日本のご飯の主食はご飯である。」

tabeflo
質問者

お礼

わかりやすい例えでの解説、ありがとうございました。 品名でその品の代表を表していたということなのですね。 疑問が氷解しました。 ありがとうございました。

関連するQ&A