Maison > interface Web > js tutoriel > le corps du texte

Introduction détaillée à Reflect en JavaScript (avec exemples)

不言
Libérer: 2018-12-10 17:58:44
avant
4487 Les gens l'ont consulté

Cet article vous apporte une introduction détaillée à Reflect en JavaScript (avec des exemples). Il a une certaine valeur de référence. J'espère qu'il vous sera utile.

Reflect est un objet intégré qui fournit des méthodes pour intercepter les opérations JavaScript. La méthode est la même que celle du gestionnaire de proxy. Reflect n'est pas un objet fonction, il n'est donc pas constructible.

    new Reflect() //错误的写法
Copier après la connexion

Reflect utilise
Reflect fournit des méthodes statiques. Les méthodes statiques font référence à des méthodes accessibles uniquement via l'objet lui-même
1. .construct()
3, Reflect.defineProperty()
4, Reflect.deleteProperty()
5, Reflect.enumerate()
6, Reflect.get()
7, Reflect .getOwnPropertyDescriptor()
8、Reflect.getPrototypeOf()
9、Reflect.has()
10、Reflect.isExtensible()
11、Reflect.ownKeys()
12、Reflect .preventExtensions()
13, Reflect.set()
14, Reflect.setPrototypeOf()

Utilisation de méthodes statiques :

demo1 : utilisez Reflect.get() pour obtenir la cible spécification de l'objet La valeur de la clé.

let obj = {
    a: 1
};

let s1 = Reflect.get(obj, "a")
console.log(s1) // 1
Copier après la connexion
La méthode get() de demo1 intercepte l'objet obj puis lit la valeur avec la clé a. Bien entendu, la valeur de a peut également être lue sans Reflect.

démo2 : utilisez Reflect.apply pour transmettre les paramètres spécifiés à l'étage de fonction cible.

const s2 = Reflect.apply(Math.floor, undefined, [1.75]); 
console.log(s2) // 1
/ /Reflect.apply()提供了3个参数,
// 第一个参数是反射的函数,后面2个参数才是和数组的apply一致。
Copier après la connexion
Nous pouvons comprendre l'exemple de demo2 comme interceptant la méthode Math.floor, puis passant les paramètres et attribuant la valeur de retour à s2, afin que nous puissions l'appeler lorsque nous avons besoin de lire le retour valeur s2.

démo3 : Utiliser Reflect.ownKeys pour obtenir les clés de l'objet

    console.log(Reflect.ownKeys({"a":0,"b":1,"c":2,"d":3})); //输出 :["a", "b", "c", "d"]
    console.log(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) ]
Copier après la connexion
Le tri de Reflect.ownKeys est basé sur : afficher les nombres en premier, trier les nombres selon la taille, puis chaîne selon l'ordre d'insertion Trier


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal