【发布时间】:2016-11-08 13:21:03
【问题描述】:
在这段代码中,原型仍然可以改变。
如何防止对原型进行更改?
var a = {a:1}
var b={b:1}
var c = Object.create(a)
Object.getPrototypeOf(c) //a
c.__proto__ = b;
Object.getPrototypeOf(c) //b
var d = Object.create(null)
Object.getPrototypeOf(d) //null
d.__proto__ = b;
Object.getPrototypeOf(d) //null
【问题讨论】:
-
原型只是一个和其他对象一样的对象,这意味着您可以冻结/密封它。
-
__proto__已弃用。如果需要,请使用Object.setPrototypeOf。