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 类型键(即使可枚举)示例: 幻导航网 发现优质实用网站,开启网络探索之旅!
相关推荐
金銀銅鐵15 小时前
[Python] 模 n 乘法的逆元计算器aqi0016 小时前
15天学会AI应用开发(十)把文本嵌入模型换成国产模型吃糖的小孩18 小时前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界金銀銅鐵1 天前
[Python] 扩展欧几里得算法Duckdblab1 天前
DuckDB 性能调优终极指南:打造闪电般的分析体验带派擂总1 天前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误笃行3501 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战笃行3501 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救笃行3501 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环