JavaScript中Object-getOwnPropertySymbols获取方法

Object.getOwnPropertySymbols() 返回对象自身所有Symbol属性键的数组,不包括字符串键和继承属性;例如返回Symbol(a), Symbol(b);区别于Object.keys()和Object.getOwnPropertyNames(),它只获取Symbol键且无论是否可枚举。Object.getOwnPropertySymbols() 是 JavaScript 中用于获取对象自身所有 Symbol 类型属性名 的静态方法。它只返回对象**直接拥有**(非继承)的 Symbol 键,不包括字符串键,也不包括原型链上的 Symbol 属性。作用和返回值该方法接收一个对象作为参数,返回一个数组,数组元素是该对象自身定义的所有 Symbol 类型的属性键(即 Symbol 值),顺序与属性被添加到对象中的顺序一致。例如:const sym1 = Symbol('a');const sym2 = Symbol('b');const obj = { sym1: 'value1', str: 'hello', sym2: 'value2' };console.log(Object.getOwnPropertySymbols(obj)); // Symbol(a), Symbol(b)与 Object.keys() 和 Object.getOwnPropertyNames() 的区别Object.keys():只返回对象自身的 可枚举字符串键 Object.getOwnPropertyNames():返回对象自身的 所有字符串键(包括不可枚举的,如 Object.defineProperty 设置的 enumerable: false) Object.getOwnPropertySymbols():只返回对象自身的 所有 Symbol 键(无论是否可枚举)配合 Reflect.ownKeys() 获取全部自有键若想一次性拿到对象所有的自有属性键(含字符串 + Symbol),推荐使用 Reflect.ownKeys(): RedClaw 百度推出的手机端万能AI Agent助手

相关推荐
卷无止境几秒前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
TELL52125 分钟前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn1 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
lilian2331 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更1 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄2 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察3 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
大鹏说大话3 小时前
从爬虫到决策引擎:大数据下自媒体如何用Python挖掘用户痛点
开发语言·爬虫·python
Niuguangshuo3 小时前
silero-vad:超轻量级开源 VAD 实践指南
开发语言·python
金銀銅鐵3 小时前
[Java] 一个方法最多可以有多少个入参?
java·jvm