ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptのオブジェクト構文
キーポイント
fieldまたは属性と呼ばれます。属性は、オブジェクトの特定の側面を記述するために使用されます。たとえば、属性は、リストの長さ、犬の色、または人の生年月日を記述できます。
オブジェクトを作成します
JavaScriptでオブジェクトを作成するのは簡単です。言語は、オブジェクトを迅速に作成するために、オブジェクトリテラル表記と呼ばれる構文を提供します。オブジェクトテキストはブレースで表されます。次の例では、属性のない空のオブジェクトを作成します。
<code class="language-javascript">var object = {};</code>ブレースでは、属性とその値は、キー/値のペアのリストとして指定されています。キーは文字列または識別子である可能性がありますが、値は任意の有効な式になります。キー/値のペアのリストはコンマで区切られ、各キーと値はコロンで区切られています。次の例では、リテラル表記を使用して、3つの属性を持つオブジェクトを作成します。最初の属性fooはナンバー1を保存します。 2番目の属性バーは文字列を使用して指定され、文字列値も保存されます。 3番目のプロパティBazには空のオブジェクトが保存されます。
<code class="language-javascript">var object = { foo: 1, "bar": "some string", baz: { } };</code>前の例では、スペースの使用に注意してください。各属性は別の行に記述され、インデントされます。オブジェクト全体は単一の行に記述できますが、この形式で記述されたコードは読みやすいです。これは、多くのプロパティまたはネストされたオブジェクトを持つオブジェクトに特に当てはまります。
アクセス属性
javaScriptは、オブジェクトプロパティにアクセスする2つの表記を提供します。最初で最も一般的なものは、ポイント表記と呼ばれます。 DOT表記では、プロパティにはホストオブジェクトの名前が付けられ、その後の期間(またはDOT)が続き、その後プロパティ名が続きます。次の例は、ポイント表記を使用してプロパティを読み書きする方法を示しています。 Object.fooの初期保存値が1の場合、このステートメントを実行した後、その値は2になります。 object.fooにまだ値がない場合、未定義になることに注意してください。
<code class="language-javascript">var object = {};</code>オブジェクトプロパティにアクセスするための別の構文は、
正方形ブラケット表記と呼ばれます。正方形のブラケット表記では、オブジェクト名の後に一連の四角いブラケットが続きます。正方形のブラケットでは、プロパティ名が文字列として指定されています。前のポイント表記の例は、四角いブラケット表記を使用するために以下に書き換えられています。コードは異なって見えるかもしれませんが、これは前の例と機能的に同等です。
<code class="language-javascript">var object = { foo: 1, "bar": "some string", baz: { } };</code>正方形のブラケット表記は、変数が属性名のすべてまたは一部を指定できるため、ドット表記よりも表現力があります。これは、JavaScriptインタープリターが正方形の括弧内の式を文字列に自動的に変換し、対応するプロパティを取得するため可能です。次の例は、四角いブラケット表記を使用して属性名を動的に作成する方法を示しています。この例では、属性名fooは、変数fの内容を文字列「oo」と連結することによって作成されます。
<code class="language-javascript">object.foo = object.foo + 1;</code>正方形のブラケット表記では、属性名がドット表記に禁止された文字を含めることもできます。たとえば、次のステートメントは、四角いブラケット表記で完全に合法です。ただし、DOT表記で同じプロパティ名を作成しようとすると、構文エラーが発生します。
<code class="language-javascript">object["foo"] = object["foo"] + 1;</code>ネストされたプロパティにアクセス
<code class="language-javascript">var f = "f"; object[f + "oo"] = "bar";</code>次の式には、ネストされたプロパティバーにアクセスします。最初の式ではドット表記を使用しますが、2番目の式では正方形のブラケット表記を使用します。 3番目の式は、2つの表記を組み合わせて同じ結果を達成します。
前の例に示されているような
<code class="language-javascript">object["!@#$%^&*()."] = true;</code>式は、誤って使用された場合、パフォーマンスの劣化を引き起こす可能性があります。各ポイントまたは正方形のブラケット式を評価するには時間がかかります。同じプロパティを複数回使用する場合は、プロパティに一度だけアクセスしてから、将来のすべての目的で使用するためにローカル変数に値を保存することをお勧めします。次の例では、ループでバーを複数回使用します。ただし、同じ値を何度も計算する時間を無駄にする代わりに、ローカル変数にバーを保存します。
<code class="language-javascript">var object = { baz: { foo: { bar: 5 } } };</code>
メソッドとして機能
関数がオブジェクトプロパティとして使用される場合、methodと呼ばれます。プロパティと同様に、メソッドはオブジェクトリテラル表記で指定することもできます。次の例は、これを達成する方法を示しています。
<code class="language-javascript">object.baz.foo.bar; object["baz"]["foo"]["bar"]; object["baz"].foo["bar"];</code>メソッドは、DOT表記と正方形のブラケット表記を使用して呼び出すこともできます。次の例では、これらの2つの表記を使用して、前の例でsum()メソッドを呼び出します。
<code class="language-javascript">var object = {};</code>
属性とメソッドの追加オブジェクトリテラル表記は、新しいオブジェクトを作成するのに役立ちますが、既存のオブジェクトにプロパティやメソッドを追加することはできません。幸いなことに、新しいデータをオブジェクトに追加することは、割り当てステートメントを作成するのと同じくらい簡単です。次の例では、空のオブジェクトが作成されます。次に、割り当てステートメントを使用して、2つの属性FOOとBARとメソッドBAZを追加します。この例ではドット表記を使用しているが、四角いブラケット表記は同様に効果的であることに注意してください。
<code class="language-javascript">var object = { foo: 1, "bar": "some string", baz: { } };</code>結論
この記事では、JavaScriptオブジェクトの構文の基本的な知識を紹介します。これらのコンテンツは、言語の残りの基礎を形成するため、これらの内容を習得することが重要です。彼らは、あなたが走る前に歩くことを学ばなければならないと言います。次に、JavaScriptの世界では、最初にオブジェクトを理解してオブジェクト指向のプログラミングを理解する必要があります。
JavaScriptオブジェクトの構文(FAQ)
に関するよくある質問 JavaScriptオブジェクトの構文の中点表記と正方形のブラケット表記の違いは何ですか?
JavaScriptでは、オブジェクトはキー価値のペアのコレクションです。これらの値は、DOT表記または正方形のブラケット表記を使用してアクセスできます。ドット表現は、より直接的で読みやすいです。プロパティ名を知っているときに使用してください。たとえば、「name」という名前のプロパティを持っている「人」という名前のオブジェクトがある場合、このようにアクセスできます:person.name。既存のJavaScriptオブジェクトにプロパティを追加する方法は?
ドット表記または正方形のブラケット表記を使用して、既存のJavaScriptオブジェクトにプロパティを追加できます。ポイント表記の場合、Syntax object.property = valueを使用するだけです。正方形のブラケット表記の場合、構文はオブジェクト['プロパティ] =値です。どちらの場合も、プロパティがオブジェクトに存在しない場合、追加されます。
「削除」演算子を使用して、JavaScriptオブジェクトからプロパティを削除できます。 「削除」演算子の構文は、ポイント表記のdelete object.propertyであり、正方形のブラケット表記のオブジェクト['プロパティ']を削除します。これにより、オブジェクトから属性とその値が削除されます。
メソッドは、オブジェクトプロパティとして保存されている関数です。それらは、オブジェクトデータを利用する操作を実行するために使用されます。次のように関数構文を使用してオブジェクト内のメソッドを定義できます:object.methodname = function(){ /
codeJavaScriptオブジェクトのプロパティを反復する方法は? "for ... in"ループを使用して、JavaScriptオブジェクトのプロパティを繰り返します。このループは、プロトタイプチェーンから継承されたプロパティを含む、オブジェクトの非常に列挙可能なプロパティを反復します。構文は次のとおりです。for(object in objectのvarプロパティ){ /
codeJavaScriptオブジェクトの「この」キーワードは、それが属するオブジェクトを指します。メソッド内では、「This」は所有者オブジェクトを指します。コンストラクターでは、「この」は新しく作成されたオブジェクトを指します。
JavaScriptのオブジェクトプロトタイプは何ですか?
JavaScriptオブジェクトにプロパティがあるかどうかを確認する方法は?
JavaScriptのオブジェクト破壊とは何ですか?
以上がJavaScriptのオブジェクト構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。