Stack Overflow em Português Asked by Lucas de Carvalho on December 16, 2021
Estou fazendo um teste simples com arrow function, mas quando uso o arguments
ele retorna
Uncaught ReferenceError: arguments is not defined
Como posso usar os parâmetros?
const teste = () => {
for(i in arguments){
return arguments[i];
}
}
teste('teste', 123);
Acho que é isto que deseja, apesar de não fazer muito sentido porque vai imprimir o primeiro e não fará mais nada.
Conforme o erro informava, faltava declarar o arguments
e dizer que ele seria um array de argumentos e não apenas um deles, por isso usei o ...
que é uma construção para isto mesmo.
const teste = (...args) => { for(i in args) return args[i]; }
console.log(teste('teste', 123));
Coloquei no GitHub para referência futura.
Talvez queria usar o yield
, mas aí não dá para usar a sintaxe de arrow function?
Mudei o nome da variável conforme o comentário do bfavaretto. Ele tem razão que em se tratando do ecossistema do JS é possível que algum conflito ocorra se não hoje, algum dia, já que arguments
é "mágico".
E de acordo com o comentário do AP não dá para fazer sem declarar porque ele quer uma semântica diferente do que existe "magicamente" com o uso do arguments
. Sai da convenção criada, é preciso da configuração que sempre é mais verbosa.
Answered by Maniero on December 16, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP