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() //错误的写法
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()
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
const s2 = Reflect.apply(Math.floor, undefined, [1.75]); console.log(s2) // 1 / /Reflect.apply()提供了3个参数, // 第一个参数是反射的函数,后面2个参数才是和数组的apply一致。
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) ]
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!