handler.apply()

Metoda handler.apply() jest pułapką na wywołanie funkcji.

Składnia

var p = new Proxy(target, {
  apply: function(target, thisArg, argumentsList) {
  }
});

Parametry

Następujące parametry są przekazywane do metody apply. Wartością this jest handler.

target
Obiekt, na którym została wywołana metoda.
thisArg
Obiekt, który jest this w metodzie.
argumentsList
Lista argumentów, które zostały przekazane do metody.

Zwracana wartość

Metoda apply może zwrócić dowolną wartość.

Opis

Metoda handler.apply jest pułapką na wywołanie funkcji.

Przechwycenia

Ta pułapka może przechwycić poniższe operacje:

Niezmienniki

Jeśli poniższe zmiemienniki są naruszone, poxy rzuci wyjątek TypeError:

target musi być obiektem, który da się wywołać. To znaczy, że musi być obiektem funkcyjnym.

Przykłady

Poniższy kod przechwytuje wywołanie funkcji.

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

console.log(p(1, 2, 3)); // "called: 1, 2, 3"
                         // 6

Specyfikacje

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of '[[Call]]' in that specification.
Standard Początkowa definicja.
ECMAScript Latest Draft (ECMA-262)
The definition of '[[Call]]' in that specification.
Draft  

Kompatybilność przeglądarek

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
applyChrome Full support 49Edge Full support 12Firefox Full support 18IE No support NoOpera Full support 36Safari Full support 10WebView Android Full support 49Chrome Android Full support 49Firefox Android Full support 18Opera Android Full support 36Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

Zobacz również