ホームページ > ウェブフロントエンド > jsチュートリアル > オブジェクト指向の手法とJavaScriptでオブジェクトを作成するメリット・デメリットを詳しく解説

オブジェクト指向の手法とJavaScriptでオブジェクトを作成するメリット・デメリットを詳しく解説

伊谢尔伦
リリース: 2017-07-26 10:48:11
オリジナル
1389 人が閲覧しました

知識ポイント:
(1) JS オブジェクト指向の基本: ECMA-262 ではオブジェクトを次のように定義しています。「順序付けされていない属性のコレクション。その属性には基本的な値、オブジェクト、または関数を含めることができます。」
(2) JSでオブジェクトを作成する方法:
(a) ファクトリパターン: 関数を使用して、特定のインターフェイスでオブジェクトを作成する詳細をカプセル化します。短所: ファクトリ パターンは、見慣れたオブジェクトを複数作成するという問題は解決しますが、オブジェクト認識 (つまり、オブジェクトの種類を知る方法) の問題は解決しません。

(b) コンストラクターパターン: ECMAScript のコンストラクターを使用して、特定のタイプのオブジェクトを作成できます。カスタム コンストラクターを作成して、カスタム オブジェクト タイプのプロパティとメソッドを定義できます。

 function createPerson(name, age, job){ 
          var o = new Object(); 
          o.name = name; 
          o.age = age; 
          o.job = job; 
          o.sayName = function(){ 
          alert(this.name); 
          }; 
      return o; 
      } 
    var person1 = createPerson(“Nicholas”, 29, “Software Engineer”); 
    var person2 = createPerson(“Greg”, 27, “Doctor”);
ログイン後にコピー

短所: コンストラクターを使用する場合の主な問題は、各インスタンスで各メソッドを再作成する必要があることです。忘れないでください。ECMAScript の関数はオブジェクトであるため、関数を定義するたびにオブジェクトをインスタンス化することになります。

(c) プロトタイプパターン: 作成するすべての関数は、オブジェクトを指すポインターであるプロトタイプ属性を持ち、このオブジェクトの目的は、特定の型

およびメソッドのすべてのインスタンスで共有できる属性を含めることです。プロトタイプ オブジェクトを使用する利点は、すべてのオブジェクトがそれに含まれるプロパティとメソッドを共有できることです。 欠点: プロトタイプ内のすべてのプロパティは、関数に非常に適しています。ただし、参照型の値を持つプロパティの場合、問題はより顕著になります。
(d) コンストラクター パターンとプロトタイプ パターンの組み合わせ: カスタム タイプを作成する最も一般的な方法は、コンストラクター パターンとプロトタイプ パターンを組み合わせて使用​​することです。コンストラクター パターンはインスタンス プロパティの定義に使用され、プロトタイプ パターンはメソッドと共有プロパティの定義に使用されます。
りー

以上がオブジェクト指向の手法とJavaScriptでオブジェクトを作成するメリット・デメリットを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート