Reflect.has

Reflect.has

静态方法 Reflect.has()作用与 in操作符 相同。

语法

Reflect.has(target, propertyKey)

参数

target目标对象.propertyKey属性名,需要检查目标对象是否存在此属性。

返回值

一个Boolean类型的对象指示是否存在此属性。

异常

如果目标对象并非Object 类型,抛出TypeError

描述

Reflect.has用于检查一个对象是否拥有某个属性, 相当于in操作符 。

示例

使用Reflect.has()

Reflect.has{x: 0}, 'x' // true Reflect.has{x: 0}, 'y' // false // returns true for properties in the prototype chain Reflect.has{x: 0}, 'toString' // Proxy with .has() handler method obj = new Proxy{}, { has(t, k) { return k.startsWith('door' } } Reflect.has(obj, 'doorbell' // true Reflect.has(obj, 'dormitory' // false

规范

SpecificationStatusComment
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Reflect.has' in that specification.StandardInitial definition.
ECMAScript Latest Draft (ECMA-262)The definition of 'Reflect.has' in that specification.Living Standard

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support49(Yes)42 (42)No support(Yes)10

FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic supportNo support49(Yes)42.0 (42)No supportNo support10

0.101562s