Core > 継承

for in文を使った継承

by s_hiroshi

JavaScript

var Foo = function _Foo(value) {
    this.value = value;
}
Foo.prototype.fooShowName = function _fooShowName() {
    console.log('Foo : ' + this.value);
};
var objFoo = new Foo('abc');
var Bar = function _Bar(value) {
    this.value = value;
};
// var x in Foo正常に動作しない
// in演算子はobjectに対して作用
for (var x in objFoo) {
    Bar.prototype[x] = objFoo[x];
};
Bar.prototype.barShowName = function _barShowName() {
    console.log('Bar : ' + this.value);
}
var objBar = new Bar('def');
objBar.barShowName();
objBar.fooShowName();