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学习(第一部分 语法与数据结构/核心基础)jump_jump2 小时前
Drizzle 凭什么贴着 Go 跑——从设计哲学到热路径源码jay神2 小时前
基于SpringBoot的宠物生命周期信息管理系统仅此,2 小时前
deep agent整合 DeepSeek 记录苍煜2 小时前
生产环境 JVM 参数实战计算指南秋92 小时前
MySQL 8.0.46 与 MySQL 9.7.0在sql语句方面的区别并举例说明一只数据集2 小时前
NVIDIA Nemotron AIQ Agentic Safety Dataset:面向企业级智能体系统的安全与防护评估数据集全面解析ftpeak2 小时前
AI开发之LangGraph教程6~自定义状态 (Custom State)Amazinqc3 小时前
Mysql数据库数据软隔离的并发死锁情况