← 返回首页
Reflect.ownKeys() - JavaScript | MDN

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Reflect.ownKeys()

基线 广泛可用

自 2016年9月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

静态方法 Reflect.ownKeys() 返回一个由目标对象自身的属性键组成的数组。

本文内容

尝试一下

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

异常

如果目标不是 Object,抛出一个 TypeError

描述

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

规范

规范
ECMAScript® 2027 Language Specification
# sec-reflect.ownkeys

浏览器兼容性

启用 JavaScript 以查看此浏览器兼容性表。

参见