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);