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助手

相关推荐
●VON21 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
Cosolar21 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
风吹夏回1 天前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
小熊Coding1 天前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
企服AI产品测评局1 天前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
秋91 天前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本1 天前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
cfm_29141 天前
Redis数据安全性解析
数据库·redis·缓存
DIY源码阁1 天前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
田里的水稻1 天前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人