prototypeオブジェクトとは

prototypeオブジェクトとは

関数オブジェクトに共通で作られるオブジェクトです。
関数を定義したときにprototypeというオブジェクトが生成されます。

JavaScript

var foo = function() {};

console.log(foo.prototype);

なお、ある関数のprototypeにオブジェクトを定義したとき、作成したインスタンスから代入すると、インスタンスの持つオブジェクトではなく、prototypeの持つオブジェクトを参照するので上書きされます。

JavaScript

var foo = function() {};

foo.prototype.prop = 'prototype prop';
foo.prototype.obj = {
	prop : 'prototype obj'
};

var bar = new foo(),
    baz = new foo();

bar.prop     = 'set prop prop';
bar.obj.prop = 'set obj prop';

console.log('bar.prop: ', bar.prop);
console.log('baz.prop: ', baz.prop);
console.log('bar.obj.prop: ', bar.obj.prop);
console.log('baz.obj.prop: ', baz.obj.prop);

JavaScript逆引きリファレンス一覧へ戻る