オブジェクト
JavaScriptオブジェクト(オブジェクト)は、データの順不同のセットです。データキーの各々が形成されている前記組成値(例えば:名:「HanMeiMei」)。
前記値は、任意のデータ型を指定できますが、唯一のキーは文字列です。
注: - オブジェクト実際には、JavaScriptで、6つの基本的なデータ型に加えて、それはまた、唯一の参照データ型です。
オブジェクトの作成オブジェクトの定義、
オブジェクトの方法を定義する方法は2つあります。
リテラルの方法:
年OBJ1 = {};
コンストラクタメソッド:
= obj2が聞かせて新しいオブジェクトを();
オブジェクトのプロパティ
非関数型の値が1に対応するキーデータ内のオブジェクト場合は、次に我々は、データオブジェクトと呼ばれるこのプロパティを置きます。
=学生をしましょう{ 名前: 'Hanmeimei' 、 年齢: 20 } / * 2つのキーに対応する名前と年齢値は、我々が学生の属と呼ばれるオブジェクト2つのデータを持っているので、こと、関数ではありません *自然。 * /
プロパティの操作
。オブジェクトの属性は、ドット演算子によって操作されます。
=人をしましょう{ 名前:「リサ」、 仕事:「ソフトウェアエンジニア」 }。 person.name = "zhangsan"; // 変更既存のプロパティ person.age = 30; // プロパティを追加していない にconsole.log(person.job); // ビュー既存のプロパティ
物体の角括弧で[]操作属性。
=人をしましょう{ 名前:「リサ」、 仕事:「ソフトウェアエンジニア」 }。 人[ "名前"] = "zhangsan"; //は、既存の属性変更 パーソン[ "年齢"] = 30; // アドオンがない属性 にconsole.log(人[ "仕事"]); // ビューは、既存のプロパティ
削除キーによるオブジェクトの属性を削除します。
=人をしましょう{ 名前:「リサ」、 仕事:「ソフトウェアエンジニア」 }。 削除 person.job; // オブジェクト属性ジョブ者を削除することができます一つだけの削除1
オブジェクトのメソッド
キーオブジェクトの値は、データ型が関数に対応するとき、我々は、この方法は、データオブジェクトと呼ばれて置きます。
=人をしましょう{ 名前: 'Hanmeimei' 、 導入:関数(){ console.log( '私の名前はHanMeiMeiは' ); } } //は、対応する値が関数、我々は人物オブジェクトと呼ばれるデータをこの方法で紹介します。
操作方法
操作対象のメソッドと同様のオブジェクトのプロパティを操作する、また、次の三つの方法があります。
ドット演算子を介してオブジェクトにアクセスする。アプローチ。
=人をしましょう{ 名前: 'Hanmeimei' 、 導入:関数(){ console.log( '私の名前はHanMeiMeiは' ); } } person.introduce(); // personオブジェクトがメソッドを紹介呼び出します
[]方法ブラケットによってオブジェクトにアクセスします。
=人をしましょう{ 名前: 'Hanmeimei' 、 導入:関数(){ console.log( '私の名前はHanMeiMeiは' ); } } 人[「紹介」](); //は、人物オブジェクトはメソッドを紹介呼び出します
削除キーメソッドにより、オブジェクトを削除します。
=人をしましょう{ 名前: 'Hanmeimei' 、 導入:関数(){ console.log( '私の名前はHanMeiMeiは' ); } } 削除 ; person.introduceが// 角括弧内の名前の後ろにいない方法
注:メソッドを呼び出すときに、属性を削除して、プロパティの出力が定義されていない、削除の方法は、文句を言うでしょう。
トラバーサルオブジェクト
以下のためのイン
=人をしましょう{ 名前: 'Hanmeimei' 、 年齢: 20 、 性別:「男性」、 導入:関数(){ console.log( '私の名前はHanMeiMeiは' ); } } 名前ましょう =シンボル(「名」); 人[名] = ``を参照。 console.log(人)。 用(キーみようで{人) console.log(キー); }
注:-のために属性定義は、シンボル値によって横断することはできません。
の
// オブジェクトキーを取得 するために、{(LET項目(人)のObject.keys) console.log(アイテム) }
// オブジェクトの値を取得する ため(LET項目のObject.values(人)){ console.log(アイテム) }
// キー値上のオブジェクトを取得する ため(LET項目のObject.entries(人)){ console.log(アイテム) }
注:また、シンボル値が定義されているプロパティを参照してください。
console.log(Reflect.ownKeys(人)); // 出力人物オブジェクトのすべての債券 はconsole.log(Reflect.ownValues(人)); //希望者対象文与えられたすべての出力値を
注:このメソッドは、プロパティ(キー)値がシンボルを定義されていないが、何の対応する値メソッド見ることができます。
この方法のオブジェクト
オブジェクトのメソッドは、このキーワードを使用することができます。
= FOOをしましょう{ バー:関数(){ console.log(この); } } foo.bar(); // {バー:[機能:バー]}
このメソッドが呼び出されるために、この方法の目的は、常に指している。すなわち、オブジェクトまたは[]の前に。このバーは、必ずしもFOOオブジェクト指向される上記実施形態の方法。
拡張オブジェクト
解体オブジェクト
VAR {名:名前、年齢:年齢} = {名: "zhangsan"、年齢:20 }。 console.log(名); // zhangsan にconsole.log(年齢); // 20
VAR {名:名前、年齢:年齢}は、「:」:名(年齢)の前方に物体が右シンボルに割り当てられている場合、変数が取られる指定「」名(年齢)の背後にあると宣言される変数VARでありますプロパティの値は、
変数名の属性値を持つプロパティの名前が同じであればES6では、それは省略することができます。すなわち:
= 1をみましょう。 聞かせてB = 2 ; OBJせ = {:、B:B} // 简写 せOBJ = {A、B}
そう:
せて、{名前、年齢} = {名: "zhangsan"、年齢:20 }。 console.log(名); // zhangsan にconsole.log(年齢); // 20
解体のオブジェクトのデフォルト値
解体オブジェクトの割り当ては、デフォルト値を指定することができます。
// noがデフォルト せNAME1 {} = {}; console.log(NAME1); // 未定義 // デフォルト値を持っている {NAME2 = "ジョン・ドウ"} =を聞かせて{}。 console.log(NAME2); // 着座 LET {NAME3 = "ジョー・スミス"、年齢} = {NAME3: " ジョン・ドウ"、年齢:30 }。 console.log(NAME3、年齢); // ジョン・ドウ30
概要
彼らは共通の特徴を示しているかどうかは、配列、セット、地図、またはオブジェクトは、それが特定の構造に大量のデータを保存することができます。
全体として一緒に保存されたこれらのデータは、我々は、彼らが収集していると言うことができます。しかし、データが構造化されていることを示すデータの収集との間の関係がある、これはまた、データ構造の集合呼び出すことができます。
いわゆるデータ構造、コンピュータがデータを保存して整理する方法です。端的に言えば、それは主にコンピュータ内部に格納されたデータ構造の種類を指します。
配列、セット、地図、オブジェクトがそう、彼らはデータ構造です。配列、オブジェクトにも起因セット、地図。
手順では、最も一般的なデータ構造は、配列、セットを形成する複数のデータ一緒にこのような構造の規則的な配列です。