handler.apply()

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 (ECMA-262)
The definition of '[[Call]]' in that specification.
Living Standard  

Compatibilità browser

BCD tables only load in the browser

Vedi anche