0

次のコード サンプルを考えます。

var base = {
    one: "one",
    two: 2,
    test: function() { return "test"; }
};

var derived1 = new Object(base);

function Ctor() { };
Ctor.prototype = base;
var derived2 = new Ctor();

var proto1 = Object.getPrototypeOf(derived1);
var proto2 = Object.getPrototypeOf(derived2);

var isProto1Base = proto1 === base;
var isProto2Base = proto2 === base;

isProto1Base と isProto2Base の両方が true であると予想していました。ただし、isProto1Base === false および isProto2Base === true です。何故ですか?

編集:コードを反映するようにタイトルを修正

4

1 に答える 1