在Ruby中,为了获得绝对最干净的继承链,你可以继承BasicObject而不是Object.这样你就没有一个你不一定想要的方法的对象(属于的方法Object.prototype).
JavaScript是否有类似的方法来定义基本对象?
function Person(name){
this.name = name
}
var mac = new Person('Mac')
delete mac.toString //does not work
delete mac.hasOwnProperty //does not work
Run Code Online (Sandbox Code Playgroud)
一旦通过构造函数实例化对象,delete如果这些属性实际上是在原型上找到的方法,那么对象的属性是不可能的.
我不想在我的对象上使用这些方法.
您可以通过调用创建一个完全没有属性的对象Object.create(null).
然后,您可以将其设置为函数prototype.
(而不是默认原型,它以Object.create(Object.prototype).