WebプログラミングならR-izm

サイトマップ 最初に

オブジェクトの説明

オブジェクトとは 配列に似ているのですが、1つの変数に名前と値のセットを複数持つものがオブジェクトです。
この名前と値のセットのことをプロパティと呼びます。
値は「変数名.名前」で呼び出します。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var person = {
name: '太郎',
sex: '男',
age: '32'
};
document.write(person.name + 'です。<br>');
document.write('性別は' + person.sex + 'です。<br>');
document.write('年齢は' + person.age + 'です。<br>');

オブジェクトには関数を持つことができ、この関数をメソッドと呼びます。
オブジェクト内のメソッドでプロパティを利用したい場合、「this.プロパティ名」で指定します。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var person = {
name: '太郎',
sex: '男',
age: '32',
myname:function(){document.write('私の名前は' + this.name + 'です。<br>');}
};
person.myname();

オブジェクトを作成して、オブジェクトの関数を初期化することをコンストラクタといいます。
オブジェクトは最初の文字は大文字にする決まりがあります。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var Person = function(name){
this.name = name;
this.hi = function(){
document.write('私の名前は' + this.name + 'です。<br>');
};
};

var taro = new Person('taro');
var takashi = new Person('takashi');
taro.hi();
takashi.hi();

newは、新しい空のオブジェクトを作成して、nameを初期化しています。
ここでのPersonがコンストラクタになり、新しいオブジェクトtaroやtakashiが作成されましたが、このtaroやtakashiのことをインスタンス(実体)と呼びます。
オブジェクト指向では、共通部分をオブジェクトにまとめてそれのみを呼び出すことで効率化が図れます。
newで新しいオブジェクト(コンストラクタ)を作成しましたが、新しいメソッドやプロパティを追加したい場合があると思います。
それを継承といいます。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var Person = function(name){
this.name = name;
this.hi = function(){
document.write('私の名前は' + this.name + 'です。<br>');
};
};

var Workman = function(name,jobname,holiday){
this.name = name;
this.jobname = jobname;
this.holiday = holiday;
this.hey = function(){
document.write('私の仕事は' + this.jobname + 'です。<br>');
document.write('休みは' + this.holiday + 'です。<br>');
};
}

Workman.prototype = new Person();

var takashi = new Workman('takashi','建築家','日曜日');
takashi.hi();
takashi.hey();

Person.prototype.hobby = function(){
document.write('週末にワインを飲むことです。<br>');
}

takashi.hobby();

WorkmanがprototypeでPersonを継承しています。
継承したことで、Personのメソッドを実行できています。
また、継承後にPersonにhobbyメソッドを追加しましたが、継承してメソッドが実行できていることが確認できます。

配列に戻る その他に行く 目次に戻る