Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

352
Visualizações
'hook' types out of anonymous functions

Is there any way to 'get' a class/function/variable that's declared inside a function? example:

  () => {
       class foo{

        }
        
        const bar = () =>
        {
            console.log("Can print from outside?")
        }
    }
    
    //Any way to make this possible?:
    console.log(new foo())
    bar()

Note: Can't change the anonymous function (injection related)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

JS is lexical scope, you can't access a local variable outside its function. you may wanna check Closures

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

about 4 years ago · Juan Pablo Isaza Relatório

0

This is really hacky!!, but if you don't mind another instance of the code you can just get the current source and wrap inside a function that exposes the foo & bar..

eg..

const anom = () => {
  class foo{
  }
  const bar = () =>
  {
     console.log("Can print from outside?")
  }
}

let code = anom.toString();
code = 
  code.slice(
    code.indexOf('{') + 1,
    code.lastIndexOf('}')
  ) + 'return {foo, bar}';

const f = new Function(code);

const {foo, bar} = f();

bar();
var fooInst = new foo();

console.log(fooInst);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda