• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Reflect.has()

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

    句法

    Reflect.has(target, propertyKey)
    

    参数

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

    返回值

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

    异常

    如果目标对象并非TypeError

    描述

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

    示例

    使用Reflect.has()

    Reflect.has({x: 0}, "x"); // true
    Reflect.has({x: 0}, "y"); // false
    
    // 如果该属性存在于原型链中,返回true 
    Reflect.has({x: 0}, "toString");
    
    // Proxy 对象的 .has() 句柄方法
    obj = new Proxy({}, {
      has(t, k) { return k.startsWith("door"); }
    });
    Reflect.has(obj, "doorbell"); // true
    Reflect.has(obj, "dormitory"); // false