为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断是否可枚举

如何判断是否可枚举

30秒到达战场 2019-03-15 13:04:33
// getFoo is a property which isn't enumerablevar myObj = Object.create({}, {  getFoo: {    value: function () { return this.foo; }   }  }); myObj.foo = 1;console.log(Object.keys(myObj)); // console: ['foo']为什么GetFoo是一个不的属性
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

判断属性是否可枚举可以用 obj.propertyIsEnumerable(prop) 链接描述

Object.create()的第二个参数和Object.defineProperties()的第二个参数作用是类似的,定义其可枚举属性或修改的属性描述符的对象
在第二个参数中,你没有指定enumerable,而默认值false,所以是getFoo是一个不可枚举的属性。
Object.create()

Object.defineProperties()


查看完整回答
反对 回复 2019-03-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

Object.getOwnPropertyDescriptor


查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 689 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信