Reflect.has()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

La méthode statique Reflect.has() fonctionne comme l'opérateur in mais sous forme d'une fonction.

Exemple interactif

Syntaxe

js
Reflect.has(cible, cléPropriété);

Paramètres

cible

L'objet cible dont on souhaite savoir s'il contient la propriété donnée.

cléPropriété

Le nom de la propriété dont on souhaite vérifier la présence.

Valeur de retour

Un booléen qui indique si la propriété recherchée est présente sur l'objet cible.

Exceptions

Une erreur TypeError si cible n'est pas un Object.

Description

La méthode Reflect.has vous permet de vérifier si une propriété est présente sur un objet. C'est une fonction qui agit comme l'opérateur in.

Exemples

js
Reflect.has({ x: 0 }, "x"); // true
Reflect.has({ x: 0 }, "y"); // false

// renvoie true pour les propriétés présentes
// grâce à la chaîne de prototypes
Reflect.has({ x: 0 }, "toString");

// Proxy avec la méthode .has()
obj = new Proxy(
  {},
  {
    has(t, k) {
      return k.startsWith("bou");
    },
  },
);
Reflect.has(obj, "bouchon"); // true
Reflect.has(obj, "bonbon"); // false

Spécifications

Specification
ECMAScript Language Specification
# sec-reflect.has

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi