Il metodo handler.apply() costituisce una trap per una chiamata a funzione.

Sintassi

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

Parametri

I seguenti parametri vengono passati al metodo apply. this è legato all'handler.

target
L'oggetto target.
thisArg
Il valore di this relativo alla chiamata.
argumentsList
La lista degli argomenti della chiamata.

Valore di ritorno

Il metodo apply può restituire qualsiasi valore.

Descrizione

Il metodo handler.apply è una trap per le chiamate a funzione.

Operazioni intercettate

Questa trap può intercettare le seguenti operazioni:

Invarianti

Se le seguenti invarianti non sono rispettate il proxy emetterà un TypeError:

  • Lo stesso target deve essere un oggetto richiamabile, cioè deve essere un oggetto funzione.

Esempi

Il codice seguente intercetta una chiamata a funzione.

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

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

Specifiche

Specifica Stato Commenti
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of '[[Call]]' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of '[[Call]]' in that specification.
Draft  

Compatibilità browser

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome 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 49Edge Mobile Full support YesFirefox 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

Vedi anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: shb
Ultima modifica di: shb,