JavaScript · Avançado · Inglês · Técnico
eval
Função global que executa uma string como código JavaScript no escopo atual. Considerada perigosa e lenta, impede otimizações do motor e abre brecha para injeção de código.
Onde usar
Aparece em código muito antigo e em ferramentas de metaprogramação. Em code review, qualquer eval com dado externo é bloqueio de segurança, e CSPs costumam desativá-lo.
Em código
const dado = '[1, 2]';
console.log(JSON.parse(dado)[0]); // 1, seguro
console.log(eval('2 + 3')); // 5, eviteExemplos
Any eval with external input is a security blocker.
Qualquer eval com entrada externa é um bloqueio de segurança.
Replace that eval with JSON.parse.
Troque esse eval por JSON.parse.
Cuidado
Usar eval para converter JSON ou calcular expressões; use JSON.parse ou um parser próprio.
Origem
Abreviação do inglês evaluate, 'avaliar'.