prototypeプロパティ

広告

Functionクラスのprototypeプロパティは、関数がコンストラクタ関数だった場合に対象となるクラスのプロトタイプオブジェクトへの参照を取得するのに使用します。

クラスのプロトタイプオブジェクトへの参照を返します。

prototypeプロパティはプロトタイプオブジェクトへの参照を返します。プロトタイプオブジェクトの詳細についてはここでは省略します。

実際の使い方は次のようになります。

function Car(name){
  this.name = name;
}

Car.prototype.info = function(){return this.name;};

var car1 = new Car("PRIUS");
alert(car1.info());

上記ではCarクラスのプロトタイプオブジェクトに対してinfoプロパティを設定しています。

サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script3_1.js">
</script>

</body>
</html>
function print(str){
  document.write(str + "<br />");
}

function Car(manufact, name){
  this.manufact = manufact;
  this.name = name;
}

Car.prototype.info = function(){return this.manufact + " " + this.name;};

document.write("<p>");

var car1 = new Car("Toyota", "PRIUS");
print(car1.info());

var car2 = new Car("Honda", "INSIGHT");
print(car2.info());

document.write("</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p3-1

( Written by Tatsuo Ikura )