在线文档教程

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