Why is mutating the [[prototype]] of an object bad for performance?

// This is bad: //foo.__proto__.bar = bar; // But this is okay Foo.prototype.bar = bar; No. Both are doing the same thing (as foo.__proto__ === Foo.prototype), and both are fine. They’re just creating a bar property on the Object.getPrototypeOf(foo) object. What the statement refers to is assigning to the __proto__ property itself: function Employee() {} … Read more