gpt4 book ai didi

javascript - Javascript 是否有类似于 Ruby 的 BasicObject?

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:27 24 4
gpt4 key购买 nike

在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

通过构造函数实例化对象后,如果这些属性实际上是在原型(prototype)上找到的方法,则无法从对象中删除属性。

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

最佳答案

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

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

关于javascript - Javascript 是否有类似于 Ruby 的 BasicObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com