Como pegar nome de variável em string com JavaScript
Neste artigo você vai aprender a como pegar nome de variável em string com JavaScript, vem conferir como é simples!

Fala programador(a), beleza? Bora aprender mais sobre JavaScript!
Entendendo a necessidade de pegar nome de variável em string com JavaScript
Em JavaScript, uma das linguagens de programação mais usadas no desenvolvimento web, temos a possibilidade de manipular strings e variáveis de formas distintas e poderosas.
Por vezes, pode surgir a necessidade de pegar o nome de uma variável em uma string, seja para fins de depuração, seja para a criação de mensagens dinâmicas ou geração de relatórios.
Entender como pegar nome de variável em string com JavaScript é uma habilidade fundamental para qualquer desenvolvedor que trabalha com essa linguagem.
Nome de variável e valor de variável
Antes de avançar, é importante esclarecer a diferença entre o nome de uma variável e seu valor.
O nome de uma variável é a identidade que você dá a ela ao declará-la, enquanto o valor de uma variável é o dado que ela armazena.
Por exemplo, em let nome = "João";, “nome” é o nome da variável, enquanto “João” é o valor que ela armazena.
A impossibilidade direta de pegar o nome de uma variável
Em JavaScript, uma vez que a variável é definida, não há uma maneira direta de pegar o nome da variável em uma string. Isso porque o nome da variável é apenas um identificador usado no código-fonte.
Quando o código é executado, o JavaScript não mantém a informação do nome da variável. Em vez disso, ele se preocupa apenas com os valores que essas variáveis representam.
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Utilizando objetos para armazenar nomes de variáveis
Apesar dessa limitação, existe uma estratégia que pode ser usada para associar nomes de variáveis a seus valores: o uso de objetos.
Em um objeto JavaScript, podemos armazenar pares de chave-valor, onde a chave pode ser pensada como o nome da variável, e o valor é o valor da variável.
Veja um exemplo:
let nome = "João";
let idade = 25;
let profissao = "Programador";
let objeto = { nome, idade, profissao };
console.log(objeto);
No console, veremos a seguinte saída: { nome: "João", idade: 25, profissao: "Programador" }.
Agora, temos uma maneira de pegar o nome das variáveis em uma string, que é usando as chaves do objeto.
O método Object.keys
O método Object.keys pode ser usado para pegar o nome das variáveis. Ele retorna um array contendo os nomes (ou chaves) das propriedades enumeráveis de um objeto.
let keys = Object.keys(objeto); console.log(keys); // Saída: [ 'nome', 'idade', 'profissao' ]
Com isso, conseguimos pegar os nomes das variáveis em strings.
No entanto, é importante lembrar que essa abordagem só funciona se você controlar a criação das variáveis e puder armazená-las em um objeto.
Em muitos casos, a necessidade de pegar o nome de uma variável em uma string pode ser um indicativo de que você deve repensar a estrutura do seu código.
Criando objeto temporário para pegar nome de variável
Outra técnica que pode ser utilizada é a criação de um objeto temporário, e o uso de Object.keys, veja um exemplo:
const nome = 'John'
Object.keys({nome})[0]
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
Pegar o nome de uma variável em string com JavaScript pode ser um desafio, pois a linguagem não oferece um meio direto de fazer isso.
No entanto, através da utilização de objetos, é possível criar uma associação entre o nome de uma variável e seu valor, o que pode ajudar a atingir esse objetivo.
Contudo, é importante frisar que a necessidade de pegar o nome de uma variável em uma string pode ser um sinal de que a estrutura do código precisa ser repensada.
Muitas vezes, o uso adequado de objetos, funções e o encapsulamento de código podem fornecer soluções mais robustas e manuteníveis.
Está buscando em evoluir como Programador? Confira o nossos cursos clicando aqui.
Nosso principal objetivo é tornar você um dev profissional que é capaz de resolver problemas de alta dificuldade e criar projetos complexos, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Cursos com vários projetos, exercícios, material apoio, comunidade de alunos e muito mais!
A resposta curta:
JavaScript não guarda o nome da variável em tempo de execução, então não existe um jeito direto de transformar esse nome em string
O caminho que funciona é colocar a variável dentro de um objeto e ler a chave dele com Object.keys, assim:
const nome = ‘João’
‘nome’
Abaixo eu abro o porquê disso e mostro os detalhes que costumam pegar as pessoas de surpresa =)
Por que { nome, idade, profissao } já vira as chaves certas?
Repara que em nenhum momento a gente escreveu { nome: nome, idade: idade }
Isso é o shorthand de propriedade do JavaScript: quando a chave tem o mesmo nome da variável, dá pra escrever só uma vez e a linguagem monta o par pra você
Ou seja, as duas formas abaixo produzem exatamente o mesmo objeto:
let objeto = { nome: nome, idade: idade }
let objeto = { nome, idade }
E é justamente esse detalhe que faz a mágica acontecer, o nome da variável vira a chave, e a chave a gente CONSEGUE ler como string
Tome cuidado com uma coisa: se você renomear a chave na hora de montar o objeto, o nome original se perde
let usuario = ‘João’
‘cliente’
O retorno é ‘cliente’, não ‘usuario’, porque o que você lê é a chave, nunca a variável em si
Transformando isso em uma função reutilizável:
Então bora encapsular isso numa função e resolver de vez:
function nomeDaVariavel(obj) { }
const idade = 25
console.log(nomeDaVariavel({ idade })) // Saída: ‘idade’
O pulo do gato é lembrar de sempre passar a variável entre chaves, criando o objeto temporário na hora da chamada
O uso mais comum disso é log e depuração, quando você quer que a mensagem mostre o nome e o valor juntos:
const total = 199
console.log(${nomeDaVariavel({ total })}: ${total}) // Saída: total: 199
E se você quiser nome e valor de uma vez só, dá pra trocar Object.keys por Object.entries:
const nome = ‘João’
Enquanto o keys devolve só as chaves, o entries devolve pares de chave e valor, bem útil pra montar mensagem dinâmica
Bora testar no console? 🙂
Cuidados antes de depender do nome da variável:
Antes de sair usando isso em produção, se liga em alguns pontos
Só funciona se VOCÊ controla a criação da variável, se o dado vem de fora (uma API, um parâmetro de função, um retorno de outra lib) o nome que você enxerga no seu código não é o nome de lá
Dentro de uma função, o nome do parâmetro é o que vale, não o nome que quem chamou usou:
function mostrar(valor) { }
const idade = 25
console.log(mostrar(idade)) // Saída: ‘valor’
Ou seja, o nome viaja junto com a variável? Não, ele nunca sai do lugar onde o objeto foi montado
Outro ponto: código que passa por processo de build costuma encurtar nomes de identificadores pra reduzir o arquivo final
Como o nome do objeto temporário é montado a partir do identificador, isso vira uma dependência frágil pra qualquer coisa que não seja log e depuração
Já me ferrei uma vez confiando demais em coisa parecida, então a régua é simples: use pra debugar e pra montar mensagem, não pra lógica de negócio
Perguntas frequentes sobre pegar nome de variável em string com JavaScript
Dá pra pegar o nome de uma variável direto, sem objeto?
Não, o JavaScript não expõe o identificador em tempo de execução
O nome existe só no código-fonte, na hora de rodar o que sobra é o valor, por isso o objeto temporário é o caminho
Como pegar o nome de uma variável em string na prática?
Monte um objeto com ela usando o shorthand e leia a primeira chave:
const nome = ‘João’
Qual a diferença entre Object.keys e Object.entries nesse caso?
O Object.keys devolve um array só com as chaves, ou seja, os nomes
O Object.entries devolve arrays de chave e valor, útil quando você quer imprimir os dois juntos
E se eu quiser os nomes de várias variáveis de uma vez?
Joga todas no mesmo objeto e chama o Object.keys nele:
const nome = ‘João’ const idade = 25
Precisar do nome da variável é sinal de código ruim?
Nem sempre, pra log e depuração é totalmente válido
Agora, se a sua lógica de negócio depende do nome do identificador, aí sim vale repensar a estrutura e trocar por um objeto com chaves explícitas
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
