, :
var p = function(){};
p.prototype = p;
var q = new p();
, , p, p, ( , length, prototype ..). Function.prototype, , , Object.prototype.
- , . new p() p.prototype, prototype , prototype .
. , , .
( ), .
:
var a = { b: 1 };
a.__proto__ = a;
, , , TypeError ( B ES6).
b, .
, ( ) , , , , return undefined.
, , :
var a = { x: 1 };
var b = { y: 2 };
b.__proto__ = a;
a.__proto__ = b;
( - ).