O método estático Reflect
.apply()
chama uma função alvo com os argumentos especificados.
Sintaxe
Reflect.apply(target, thisArgument, argumentsList)
Parâmetros
- target
- Função que será chamada.
- thisArgument
- O valor de "
this"
que será usado pela function do target. - argumentsList
- Um objeto do tipo array que especifica os argumentos com que o
target
deve ser chamado.
Valor de retorno
O resultado da função alvo chamada com o this
e argumentos especificados.
Exceções
Um TypeError
, se a função especificada no target não for invocável.
Descrição
No ES5, tipicamente é usado o método Function.prototype.apply()
para chamar uma função com o valor de this e argumentos
fornecidos como um array (ou um array-like object).
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
Com o Reflect.apply
isso se torna menos verboso e mais fácil de entender.
Exemplos
Usando Reflect.apply()
Reflect.apply(Math.floor, undefined, [1.75]); // 1; Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]); // "hello" Reflect.apply(RegExp.prototype.exec, /ab/, ["confabulation"]).index; // 4 Reflect.apply("".charAt, "ponies", [3]); // "i"
Especificações
Especificação | Status | Comentário |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Reflect.apply' in that specification. |
Standard | Definição inicial. |
ECMAScript 2017 Draft (ECMA-262) The definition of 'Reflect.apply' in that specification. |
Draft |
Compatibilidade do navegador
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 49 | 42 (42) | Não suportado | Não suportado | Não suportado |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Não suportado | Não suportado | 42.0 (42) | Não suportado | Não suportado | Não suportado |
Veja também
Etiquetas do documento e colaboradores
Etiquetas:
Colaboradores desta página:
alinemorelli
Última atualização por:
alinemorelli,