简体   繁体   English

Javascript是否有类似于Ruby的BasicObject?

[英]Does Javascript have a BasicObject similar to Ruby?

In Ruby, in order to get the absolute cleanest inheritance chain, you can inherit from BasicObject instead of Object . 在Ruby中,为了获得绝对最干净的继承链,您可以继承BasicObject而不是Object This way you don't have an object with methods you don't necessarily want (the methods that are part of Object.prototype ). 这样你就没有一个你不一定需要的方法的对象(属于Object.prototype的方法)。

Does JavaScript have a similar means of defining a basic object? JavaScript是否有类似的方法来定义基本对象?

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. 通过构造函数实例化对象后,如果这些属性实际上是在原型上找到的方法,则无法从对象中delete属性。

I don't want these methods on my object. 我不想在我的对象上使用这些方法。

You can create an object with no properties at all by calling Object.create(null) . 您可以通过调用Object.create(null)来创建一个完全没有属性的对象。

You can then set that as a function's prototype . 然后,您可以将其设置为函数的prototype
(instead of the default prototype, which starts as Object.create(Object.prototype) . (而不是默认原型,它以Object.create(Object.prototype)开头。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JavaScript是否有indexOf(lambda)或类似的? - Does JavaScript have an indexOf(lambda) or similar? JQuery是否具有类似于Ruby的sort_by函数 - Does JQuery have a sort_by function similar to Ruby's 浏览器中是否存在类似 JavaScript 的 REPL,例如 Pry for Ruby 开发? - Does exist a similar REPL for JavaScript in the browser, like Pry for Ruby development? Javascript与VBA的DoEvents有什么相似之处吗? - Does Javascript have anything similar to VBA's DoEvents? JavaScript或jQuery是否具有类似于Excel的VLOOKUP的功能? - Does JavaScript or jQuery have a function similar to Excel's VLOOKUP? C#的操作是否类似于JavaScript的|| 二传手? - Does C# Have An Operation Similar to JavaScript's || Setter? JavaScript是否具有与LINQ的Select语句类似的功能? - Does JavaScript have a similar capability as LINQ's Select statement? Javascript 是否具有类似于 Java 的增强的 for 循环语法 - Does Javascript have an enhanced for loop syntax similar to Java's JavaScript 是否具有类似于 php list 命令的语言结构? - Does JavaScript have a language construct similar to the php list command? JavaScript是否具有类似Ruby的'tr'方法的方法? - Does JavaScript have a method like Ruby's 'tr' method?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM