Javascript是否有类似于Ruby的BasicObject?

Mar*_*rio 4 javascript ruby

在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如果这些属性实际上是在原型上找到的方法,那么对象的属性是不可能的.

我不想在我的对象上使用这些方法.

SLa*_*aks 5

您可以通过调用创建一个完全没有属性的对象Object.create(null).

然后,您可以将其设置为函数prototype.
(而不是默认原型,它以Object.create(Object.prototype).