如图:看书上说可以用in 在for循环中取出对象的属性,不管是自有属性还是继承自原型的属性,但是如果我想取出String对象实例的所有的原型对象上的属性名怎么取呢?这些原型对象上的固有属性不能遍历打印出来吗?
1 回答
if_else_
TA贡献42条经验 获得超23个赞
这么跟你说吧,用 for in 或者 Object.keys 返回的都是对象上的可枚举的属性,当然,这两个还是有区别的。
你要想返回对象上的属性名,有可能这个对象就包括可枚举跟不可枚举的属性(不包括ES6独特的Symbol),
所以这个时候,你就应该用Object.getOwnPropertyNames(obj)的方式(Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。)
多看一下文档吧,少年
添加回答
举报
0/150
提交
取消