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

相关推荐
倒霉熊dd2 小时前
Python学习(第一部分 语法与数据结构/核心基础)
大数据·python·学习·pip
jump_jump2 小时前
Drizzle 凭什么贴着 Go 跑——从设计哲学到热路径源码
数据库·性能优化·orm
jay神2 小时前
基于SpringBoot的宠物生命周期信息管理系统
java·数据库·spring boot·后端·web开发·宠物·管理系统
仅此,2 小时前
deep agent整合 DeepSeek 记录
python·langchain·agent·deep agent sdk
苍煜2 小时前
生产环境 JVM 参数实战计算指南
jvm
秋92 小时前
MySQL 8.0.46 与 MySQL 9.7.0在sql语句方面的区别并举例说明
数据库·sql·mysql
一只数据集2 小时前
NVIDIA Nemotron AIQ Agentic Safety Dataset:面向企业级智能体系统的安全与防护评估数据集全面解析
网络·数据库·安全
ftpeak2 小时前
AI开发之LangGraph教程6~自定义状态 (Custom State)
python·ai·langchain·langgraph
Amazinqc3 小时前
Mysql数据库数据软隔离的并发死锁情况
数据库·mysql·死锁