ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript オブジェクトのコンストラクターはどのように定義しますか?

JavaScript オブジェクトのコンストラクターはどのように定義しますか?

Barbara Streisand
リリース: 2024-11-05 01:02:02
オリジナル
824 人が閲覧しました

How do you define constructors for JavaScript objects?

JavaScript オブジェクトのコンストラクター

JavaScript は、Java や C などの他のオブジェクト指向言語のような従来の意味でのクラスをサポートしません。ただし、プロトタイプを使用してオブジェクトのコンストラクターを定義する独自のメカニズムが提供されます。

プロトタイプの使用:

JavaScript オブジェクトには、メソッドの追加に使用できるプロトタイプ プロパティがあり、そのオブジェクトのすべてのインスタンスにプロパティを追加します。プロトタイプを使用してコンストラクターを定義するには、関数を作成し、それをオブジェクトのプロトタイプに割り当てます。

<code class="javascript">function Box(color) { // Constructor
    this.color = color;
}

Box.prototype.getColor = function() {
    return this.color;
};</code>
ログイン後にコピー

このコンストラクターは color 引数を受け取り、それをオブジェクトの color プロパティに保存します。また、Box オブジェクトのすべてのインスタンスからアクセスできる getColor メソッドもプロトタイプに追加されます。

プライベート プロパティの非表示:

JavaScript には true がありません。プライベート メンバーの場合、プライベート プロパティをシミュレートする手法を使用できます。

<code class="javascript">function Box(col) {
   var color = col;

   this.getColor = function() {
       return color;
   };
}</code>
ログイン後にコピー

この例では、カラー変数はコンストラクター内でローカル変数として宣言されています。コンストラクターの外部から直接アクセスすることはできません。ただし、カラー変数の値を返す getColor メソッドが提供されています。

使用法:

Box オブジェクトのインスタンスを作成するには、 new キーワードを使用します。

<code class="javascript">var blueBox = new Box("blue");
alert(blueBox.getColor()); // will alert blue

var greenBox = new Box("green");
alert(greenBox.getColor()); // will alert green</code>
ログイン後にコピー

JavaScript では、プロトタイプを利用したり、プライベート プロパティをシミュレートしたりすることで、オブジェクトのコンストラクターを定義し、カプセル化をある程度シミュレートできます。

以上がJavaScript オブジェクトのコンストラクターはどのように定義しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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