JS Reflect.ownKeys()
静态方法 Reflect``.ownKeys()
返回一个由目标对象自身的属性键组成的数组。
The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
语法
Reflect.ownKeys(target)
参数
target
获取自身属性键的目标对象。
返回值
由目标对象的自身属性键组成的 Array
。
异常
描述
Reflect.ownKeys
方法返回一个由目标对象自身的属性键组成的数组。它的返回值等同于[`Object.getOwnPropertyNames`](/api/js-es/ob-object/get-own-property-names.html "方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。")(target).concat([`Object.getOwnPropertySymbols`](/api/js-es/ob-object/get-own-property-symbols.html "方法返回一个给定对象自身的所有 Symbol 属性的数组。")(target))。
示例
使用 Reflect.ownKeys()
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 | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262)Reflect.ownKeys | Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262)Reflect.ownKeys | Draft |