Object.keys只返回对象自身可枚举的字符串键,Object.getOwnPropertyNames返回所有自身字符串键(含不可枚举),二者均不包含Symbol键和原型链属性。Object.keys 和 Object.getOwnPropertyNames 都能获取对象的键名,但它们的行为有关键区别:前者只返回**可枚举属性**,后者返回**所有自身属性(包括不可枚举的)**。遍历键名时选哪个,取决于你是否需要访问如 toString、constructor 这类内置不可枚举属性,或你自己用 Object.defineProperty 设置的 enumerable: false 属性。用 Object.keys 遍历可枚举键名这是最常用的方式,适合日常开发中处理普通对象、JSON 数据、配置项等场景。它返回一个字符串数组,可直接配合 for...of、forEach 或展开运算符使用。只包含对象自身的、且 enumerable === true 的属性 不包含原型链上的属性(如 hasOwnProperty) 不包含 Symbol 类型键(即使可枚举)示例: 幻导航网 发现优质实用网站,开启网络探索之旅!
相关推荐
还是阿落呀1 小时前
第三章 添加数据databook1 小时前
如何让多个动画“齐步走”?qq_189807031 小时前
golang如何实现日志按级别过滤_golang日志按级别过滤实现教程abc123456sdggfd1 小时前
Golang map底层实现原理_Golang map哈希表原理教程【经典】roman_日积跬步-终至千里2 小时前
【案例题-知识点(2)】架构风格上(五大类详解)yaoxin5211232 小时前
391. Java 文件操作基础 - 方法链式调用justjinji2 小时前
JavaScript中利用宏任务拆分阻塞任务的实操案例@小柯555m2 小时前
MySql(基础操作符--查找除复旦大学的用户信息)weixin_408717772 小时前
c++如何实现跨平台的文件读写进度监听器回调机制【实战】