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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support491218 No3610
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4949 Yes1836105.0

Vedi anche

Tag del documento e collaboratori

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