此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
Reflect.ownKeys()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
静态方法Reflect.ownKeys() 返回一个由目标对象自身的属性键组成的数组。
In this article
尝试一下
const object1 = { property1: 42, property2: 13,};const array1 = [];console.log(Reflect.ownKeys(object1));// Expected output: Array ["property1", "property2"]console.log(Reflect.ownKeys(array1));// Expected output: Array ["length"]语法
Reflect.ownKeys(target)
参数
target获取自身属性键的目标对象。
返回值
由目标对象的自身属性键组成的Array。
异常
描述
Reflect.ownKeys 方法返回一个由目标对象自身的属性键组成的数组。它的返回值等同于。Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))
示例
>使用Reflect.ownKeys()
js
Reflect.ownKeys({ z: 3, y: 2, x: 1 }); // [ "z", "y", "x" ]Reflect.ownKeys([]); // ["length"]var sym = Symbol.for("comet");var sym2 = Symbol.for("meteor");var obj = { [sym]: 0, str: 0, 773: 0, 0: 0, [sym2]: 0, "-1": 0, 8: 0, "second str": 0,};Reflect.ownKeys(obj);// [ "0", "8", "773", "str", "-1", "second str", Symbol(comet), Symbol(meteor) ]// Indexes in numeric order,// strings in insertion order,// symbols in insertion order规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-reflect.ownkeys> |