JavaScript 可枚举性
JavaScript 对象属性有一个 enumerable
控制该属性是否显示在中的属性 for/in
循环和 Object.keys()
功能。 创建 POJO 如果您使用 {}
,默认情况下,所有 POJO 的属性都是可枚举的。
const obj = {
name: 'Jean-Luc Picard',
age: 59
};
Object.keys(obj); // ['name', 'age']
但是,您也可以使用 Object.defineProperty()
功能 。 放 enumerable
至 false
并且该属性不会出现在 Object.keys()
。
Object.defineProperty(obj, 'hidden', {
enumerable: false,
value: 42
});
obj.hidden; // 42
Object.keys(obj); // ['name', 'age'], no 'hidden'!
您可以使用以下方法检查属性是否可枚举 propertyIsEnumerable()
返回布尔值的函数。
const obj = { name: 'first' };
obj.propertyIsEnumerable('name'); // true
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论