In Ruby, in order to get the absolute cleanest inheritance chain, you can inherit from BasicObject instead of Object. This way you don't have an object with methods you don't necessarily want (the methods that are part of Object.prototype).
Does JavaScript have a similar means of defining a basic object?
function Person(name){
this.name = name
}
var mac = new Person('Mac')
delete mac.toString //does not work
delete mac.hasOwnProperty //does not work
Once you instantiate an object via a constructor function, it is not possible to delete properties from the object if those properties are actually methods found on the prototype.
I don't want these methods on my object.