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