JavaScript原型上的Object.freeze()有什么问题吗?

The*_*ith 5 javascript prototype object

Object.freezeJavaScript 调用构造函数的原型有什么问题吗?

我只是在想,既然原型是在所有实例之间共享的,那么也许我可以通过冻结它来确保没人重写原型中的任何内容,因为重写原型上的内容会影响每个实例。因此,例如,如下所示:

function MyConstructor() {
  // Stuff
}

MyConstructor.prototype = {
  method1() {
    // more stuff
  },
  method2() {
    // even more stuff
  },
  someArray: ['some', 'values'],
  someValue: 'value'
}

Object.freeze(MyConstructor.prototype);
Run Code Online (Sandbox Code Playgroud)

ale*_*nco 2

如果冻结原型,您也会冻结扩展它的对象,因此它们将无法覆盖原型中定义的那些属性

这个要点是展示问题的测试