[英]How to inspect the default object properties in the Node REPL
我正在使用Node REPL。 当我们在这里定义一个constructor
函数时,如下所示:
function Rabbit() { }
它是prototype
对象,即Rabbit.prototype
具有constructor
属性,可以这样引用:
>> Rabbit.prototype.constructor
[Function: Rabbit]
该constructor
属性未在Rabbit.prototype
对象中列出,但是执行Rabbit.prototype.constructor
和Rabbit.prototype["constructor"]
会适当地提供此信息。
>> Rabbit.prototype
{}
a)如何查看这些默认属性,例如constructor
, hasOwnProperty
, toString
, valueOf
等? 在使用控制台的 浏览器中 ,我得到了一个不错的下拉列表。 我期待为此的某种dir
命令。
b)当我在控制台中启动Rabbit.prototype
时,为什么没有显示inherited
属性? 是否因为我们只想显示用户添加的内容而期望?
c)它们实际在哪里定义Object
或Function
?
编辑:-似乎这些都添加到Object.prototype
。 参考:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype
也,
>> Object.getOwnPropertyNames(Object.prototype)
[ 'constructor',
'toString',
'toLocaleString',
'valueOf',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'__defineGetter__',
'__lookupGetter__',
'__defineSetter__',
'__lookupSetter__' ]
我们是否需要通过在每个对象上应用Object.getOwnPropertyNames
来遍历原型链,以列出拥有的和继承的对象?
问候。
是的,它需要通过应用Object.getOwnPropertyNames()
来获得非枚举属性列表,从而使prototype chain
向下移动。 从这里得到它:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.