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

298
Visualizações
Returning a variable name in a function (Javascript)

As I'm debugging, I'm consistently writing this bit of code:

a = 2;
// do some operation on variable a
console.log("The a variable is now " + a);

I wondered if I might create a function that shortens that process, like this,

function varlog(x) {
  var vartext = // this is what I don't know
  return "The " + vartext + " variable is now " + x;
}

var a = 2;
console.log(varlog(a));

Two questions,

  1. Is there a better way to solve this problem that I'm not seeing?
  2. If not, what should the vartext be to solve this problem?
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can use "Reflect" as below

function easyDebug(variable){

    let name = Reflect.ownKeys(variable)[0];
    let vals = JSON.stringify(variable[name]);
    console.log("The ( "+ name +" ) variable is now = ( " + vals +" )");
}

let a=5;
easyDebug({a});
//Will output
//The ( a ) variable is now = ( 5 )

let arr=[5,6,7];
easyDebug({arr});
//Will output
//The ( arr ) variable is now = ( [5,6,7] )

let obj={"key1":"val1","key2":"val2"};
easyDebug({obj});
//Will output
//The ( obj ) variable is now = ( {"key1":"val1","key2":"val2"} )

let obj2={obj};
easyDebug({obj2});
//Will output
//The ( obj2 ) variable is now = ( {"obj":{"key1":"val1","key2":"val2"}} )

let arrObj = [obj];
easyDebug({arrObj});
//Will output
//The ( arrObj ) variable is now = ( [{"key1":"val1","key2":"val2"}] )
about 4 years ago · Juan Pablo Isaza Relatório

0

By handing over a variable, the name is not known. the only part, where a variable is known, is to use short hand properties, where the variable name is now the property.

function varlog(x) {
    const [k, v] = Object.entries(x)[0];
    return `The ${k} variable is now ${v}`;
}

const a = 2;

console.log(varlog({ a })); // call with short hand property

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