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 类型键(即使可枚举)示例: 幻导航网 发现优质实用网站,开启网络探索之旅!
相关推荐
泡海椒6 分钟前
JQuick-Excel 实战:用 STYLE 配置单元格与区域样式威联通网络存储11 分钟前
TS-h1283XU-RP 在医药批记录与检验场景的部署Patrick在香港20 分钟前
时间戳凭空早了 8 小时:datetime.utcnow() 弃用实测与漂移复盘东莞市云毅网络有限公司7 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现李兆龙的博客8 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性数字融合9 小时前
透明化视频三维矿山井下照明重建技术yi0119 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”Marst Code10 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界倔强的石头_10 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品闲云野鹤在人间11 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解