A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply below:

handler.apply() - JavaScript | MDN

handler.apply()

Baseline Widely available

Die handler.apply()-Methode ist eine Falle für die [[Call]] interne Objektmethode, die von Operationen wie Funktionsaufrufen verwendet wird.

Probieren Sie es aus
function sum(a, b) {
  return a + b;
}

const handler = {
  apply(target, thisArg, argumentsList) {
    console.log(`Calculate sum: ${argumentsList}`);
    // Expected output: "Calculate sum: 1,2"

    return target(argumentsList[0], argumentsList[1]) * 10;
  },
};

const proxy = new Proxy(sum, handler);

console.log(sum(1, 2));
// Expected output: 3
console.log(proxy(1, 2));
// Expected output: 30
Syntax
new Proxy(target, {
  apply(target, thisArg, argumentsList) {
  }
})
Parameter

Die folgenden Parameter werden an die apply()-Methode übergeben. this ist an den Handler gebunden.

target

Das aufrufbare Zielobjekt.

thisArg

Das this-Argument für den Aufruf.

argumentsList

Ein Array, das die an die Funktion übergebenen Argumente enthält.

Rückgabewert

Die apply()-Methode kann jeden Wert zurückgeben, der den Rückgabewert des Funktionsaufrufs darstellt.

Beschreibung Abfangmöglichkeiten

Diese Falle kann folgende Operationen abfangen:

Oder jede andere Operation, die die [[Call]] interne Methode aufruft.

Invarianten

Die [[Call]]-Methode des Proxys löst einen TypeError aus, wenn die Definition des Handlers eine der folgenden Invarianten verletzt:

Beispiele Abfangen eines Funktionsaufrufs

Der folgende Code fängt einen Funktionsaufruf ab.

const p = new Proxy(function () {}, {
  apply(target, thisArg, argumentsList) {
    console.log(`called: ${argumentsList}`);
    return argumentsList[0] + argumentsList[1] + argumentsList[2];
  },
});

console.log(p(1, 2, 3)); // "called: 1,2,3"
// 6
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4