言葉の意味だけ追いかけても一生理解出来ませんので、一旦そのまま飲み込みましょう
モジュールとコンポーネントとライブラリとプラグインの違いとは
オブジェクトに「モノ」以上の意味はありません。
そこにあるのは情報処理を行う為に、「都合が良くなる為に生成した擬似的なモノ」です。
ITが情報処理を指すように、基本的にコードやプログラムの目的は情報処理です。
「Aから情報を受け取り、情報を加工し、Bに届ける」
インプット、プロセッシング、アウトプットの関係です。
PDOとは何?
PDO はじめに - PHPマニュアル
PHP Data Objects (PDO) 拡張モジュールは、...以下略
PDO は PHP 5.1 以降にバンドルされており、PHP 5.0 では PECL 拡張モジュールとして使用可能です。PDO は PHP 5 の新機能である オブジェクト指向機能を使用しており、それより前のバージョンの PHP では動作しません。
PDOはPHPの標準機能にバンドルされているビルトインのモジュールです。
DOMとは何?
DOM とは - MDN
Document Object Model (DOM) は HTML や XML 文書のためのプログラミングインターフェイスです。
W3C DOM および WHATWG DOM 標準は、現代のブラウザーのほとんどで実装されています。多くのブラウザーは標準を拡張しているので、文書が様々なブラウザーの異なる DOM からアクセスされるウェブにおいては注意が必要です。
JavaScriptがDOMツリーを編集出来るようにブラウザが用意しているAPIを指します。
ブラウザに搭載されているDOM APIはChromeならGoogle、FirefoxならMozilaという団体が独自で作っているものなので仕様に差異がある可能性があります。
つまり同じJavaScriptのコードを書いても動いたり動かなかったりします。
それは困るというわけで、W3CというWebの標準規格作ってる団体が、
DOM APIは以下の仕様で作れーと全世界に向けて勧告してくれているため、
現在動くすべてのメジャーどころのブラウザは全く同じようにJavaScriptの同じコードを書いて
各ブラウザのDOM APIを使ってDOMツリーを扱えるようになっています。
これも実質ビルトインのモジュールみたいなものと考えて差し支えないでしょう。
Node.jsというブラウザから離れた環境では存在しないので頼れませんが、JavaScriptが動作するほぼすべてのブラウザで同じように実行できますからね。
jQueryとは?
jQueryはブラウザの標準規格団体とは全く関係のないチームで作った、
JavaScriptをより扱いやすくする為の関数を粛々と作っている団体です。
ブラウザのより上の方でスクリプトタグを配置して、
jQueryライブラリを読み込むことで、グローバルスコープにjquery
や$
という名称の関数を追加して開発を手伝ってくれます。
中身は単なるJavaScriptのコードなので
同じような事がやりたければjQuery並のコード量で似たような機能を作れば同じ事が出来ます。
jQueryにはDOMツリーを操作する様々な機能が用意されていますが、
DOMツリーを扱うにはDOM APIを呼び出す必要がありますので、内部的にはすべてDOM APIにお願いするようなコードが満載しています。
オブジェクトとは?
そもそもライブラリと掠りもしません。
オブジェクトというのは「モノ」です。
C言語で生まれた構造化プログラミングという手法がありましたが、
これで巨大なシステムを動作するには辛く、
この構造化プログラミングよりも優れたわかりやすい、巨大なシステムが作れるような手法の開発が望まれました。
その結果、オブジェクト指向プログラミングという手法が誕生するに至りました。
JavaScriptやPHPはこのオブジェクト指向プログラミングの概念を利用した、
オブジェクト指向プログラミング言語です。
その「オブジェクト指向プログラミング言語」の「オブジェクト」から取っています。
この場合、大まかに「オブジェクト」というのはひな形の「クラス」やクラスから実体を生成した「インスタンス」を指します。
インスタンスが所持している機能(メソッド)、値(プロパティ)を駆使しながら
同じ「動け」という命令に対して、インスタンスは自身のメソッドに登録してあるコードや、値を参照しながら、状況に応じた異なる動作を行います。
この比喩によって情報処理を実現しようというのがオブジェクト指向プログラミングであり、
オブジェクトには「情報処理を手助けするモノ」という以上の意味合いはありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/09 00:26