Reflect.ownKeys
Reflect.ownKeys
静态方法 Reflect.ownKeys()
返回一个由目标对象自身的属性键组成的数组。
语法
Reflect.ownKeys(target)
参数
target
获取自身属性键的目标对象。
返回值
由目标对象的自身属性键组成的Array
。
异常
抛出一个TypeError
,如果目标不是 Object
。
描述
Reflect.ownKeys
方法返回一个由目标对象自身的属性键组成的数组。它的返回值等同于Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(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)The definition of 'Reflect.ownKeys' in that specification. | Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262)The definition of 'Reflect.ownKeys' in that specification. | Draft | |
浏览器兼容性
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 49 | (Yes) | 42 (42) | No support | 42 | 10 |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | No support | 49 | (Yes) | 42.0 (42) | No support | No support | 10 |