JavaScript オブジェクト
オブジェクトは単なる特殊なデータ型であり、一連のプロパティとメソッドを持っています。理解するために例を使用してみましょう。人は物体です。プロパティはオブジェクトに関連付けられた値です。人の属性には、名前、身長、体重、年齢、肌の色、目の色などが含まれます。これらの属性は誰もが持っていますが、人それぞれの属性の価値観は異なります。オブジェクトにもメソッドがあります。メソッドはオブジェクトに適用できる動作です。人々の手段は、食べること、寝ること、働くこと、遊ぶことなどかもしれません。
プロパティ
オブジェクトのプロパティにアクセスするメソッド:
objectname.property
プロパティに値を割り当てるだけで、オブジェクトにプロパティを追加できます。 personObj オブジェクトが存在すると仮定します。名、姓、年齢、目の色などのプロパティを追加できます。
personObj.firstname="John" personObj.lastname="Doe" personObj.age=30 personObj.eyecolor="blue" document.write(personObj.firstname)
上記のコードは次の出力を生成します:
John
メソッド
オブジェクトにはメソッドを含めることができます。
メソッドを呼び出すには次の構文を使用します:
オブジェクト名.メソッド名()
注: 括弧内のメソッドのパラメータは省略できます。
sleep という名前の personObj オブジェクトのメソッドを呼び出します:
personObj.sleep()
独自のオブジェクトを作成します
オブジェクトを作成するにはさまざまな方法があります:
1. オブジェクトのインスタンスを作成します
以下コード オブジェクトのインスタンスが作成され、4 つのプロパティがそれに追加されます:
personObj=new Object() personObj.firstname="John" personObj.lastname="Doe" personObj.age=50 personObj.eyecolor="blue"
personObj へのメソッドの追加も非常に簡単です。次のコードは、eat() という名前のメソッドを personObj に追加します:
personObj.eat=eat
2. オブジェクトのテンプレートを作成します
テンプレートはオブジェクトの構造を定義します。
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname this.lastname=lastname this.age=age this.eyecolor=eyecolor }
注: テンプレートは単なる関数です。関数内でコンテンツを this.propertiName に割り当てる必要があります。
テンプレートを取得したら、次のように新しいインスタンスを作成できます:
myFather=new person("John","Doe",50,"blue") myMother=new person("Sally","Rally ", 48,"green")
人物オブジェクトに特定のメソッドを追加することもできます。また、テンプレート内で操作する必要もあります:
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname this.lastname=lastname this.age=age this.eyecolor=eyecolor this.newlastname=newlastname }
注: メソッドはオブジェクトに付加された単なる関数です。次に、 newlastname() 関数を記述する必要があります。
function newlastname(new_lastname) { this.lastname=new_lastname }
Newlastname() 関数は、人の新しい姓を定義し、それを人に割り当てます。 「this.」を使用すると、JavaScript はあなたが誰を指しているのかを認識します。これで、myMother.newlastname("Doe") と書くことができます。