Heim > Web-Frontend > js-Tutorial > Detaillierte Einführung in Reflect in JavaScript (mit Beispielen)

Detaillierte Einführung in Reflect in JavaScript (mit Beispielen)

不言
Freigeben: 2018-12-10 17:58:44
nach vorne
4496 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine detaillierte Einführung in Reflect in JavaScript (mit Beispielen). Ich hoffe, dass er Ihnen weiterhilft.

Reflect ist ein integriertes Objekt, das Methoden zum Abfangen von JavaScript-Operationen bereitstellt. Die Methode ist dieselbe wie die des Proxy-Handlers. Reflect ist kein Funktionsobjekt und daher nicht konstruierbar.

    new Reflect() //错误的写法
Nach dem Login kopieren

Reflect verwendet einige statische Methoden, auf die nur über das Objekt selbst zugegriffen werden kann
Reflect.apply()
2 ()
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()

Verwendung statischer Methoden:

demo1: Verwenden Sie Reflect.get(), um den angegebenen Schlüssel von zu erhalten der Zielobjektwert.

let obj = {
    a: 1
};

let s1 = Reflect.get(obj, "a")
console.log(s1) // 1
Nach dem Login kopieren
Die get()-Methode von Demo1 fängt das obj-Objekt ab und liest dann den Wert mit Schlüssel a. Natürlich kann der Wert von a auch ohne Reflect gelesen werden.

demo2: Verwenden Sie Reflect.apply, um die angegebenen Parameter an die Zielfunktionsebene zu übergeben.

const s2 = Reflect.apply(Math.floor, undefined, [1.75]); 
console.log(s2) // 1
/ /Reflect.apply()提供了3个参数,
// 第一个参数是反射的函数,后面2个参数才是和数组的apply一致。
Nach dem Login kopieren
Das Beispiel von demo2 kann so verstanden werden, dass die Methode Math.floor abgefangen wird, dann die Parameter übergeben und der Rückgabewert an s2 zugewiesen wird, sodass wir s2 aufrufen können, wenn wir den Rückgabewert lesen müssen.

demo3: Verwenden Sie Reflect.ownKeys, um die Schlüssel des Objekts abzurufen

    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) ]
Nach dem Login kopieren
Die Sortierung von Reflect.ownKeys basiert auf: Zuerst die Zahlen anzeigen, die Zahlen nach Größe sortieren und dann Sortieren Sie die Zeichenfolgen nach der Reihenfolge der Einfügung


Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Reflect in JavaScript (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage