Fundamentos de JavaScript: tipos de variáveis e dados primitivos
JavaScript é uma linguagem de programação introduzida em 1995 como uma forma de adicionar lógica de programas em páginas web que rodavam no navegador Netscape Navigator (Haverbeke, 2024, online). O JavaScript, desenvolvido por Brendan Eich, é uma linguagem de programação de alto nível, ou seja, muitos elementos a nível de máquina são abstraídos pela linguagem e a pessoa desenvolvedora não precisa se preocupar com determinados detalhes. Outra característica importante é que ela é interpretada, diferentemente das linguagens C e C++ que são compiladas. Portanto, o ambiente de execução interpreta e devolve uma resposta linha a linha, traduzindo o código-fonte de alto nível para código de máquina em tempo de execução do programa.
À medida que a linguagem passou a ser utilizada em outros navegadores e ganhou mais adeptos, a Ecma International Organization decidiu criar um padrão de código para a linguagem. Esse padrão é chamado de ECMAScript standard. Em termos práticos, podemos considerar que as palavras “ECMAScript” e “JavaScript” são dois nomes para a mesma linguagem de programação. (Haverbeke, 2024, online).
Existem inúmeras versões do JavaScript. A versão mais recente é a ECMAScript 2015 – ES6 – liberada em 2015. Essa versão trouxe um grande conjunto de atualizações para a linguagem, melhorando várias práticas de codificação e ouvindo os pedidos feitos pela comunidade de desenvolvedores ao longo de anos. Desde então, as atualizações promovidas pela ECMA são pontuais. Portanto, os exemplos trabalhados neste artigo sempre trarão os padrões mais recentes.
Como executar um código em JavaScript?
Por conta de sua origem, o JavaScript é executado, a priori, nos navegadores. Isso faz com que a linguagem seja conhecida por atuar no lado do cliente (do inglês, client-side), permitindo que uma pessoa rode seus códigos no próprio computador sem precisar acessar um servidor externo (Pereira e Silvério, 2023).
Com a crescente relevância da linguagem, em 2009 o Node.JS foi criado para ser um ambiente de execução JavaScript que roda no lado do servidor (server-side). Em outras palavras, com o runtime Node.js é possível programar com JavaScript fora do navegador. Desde então, as opções para construção de backends com a linguagem se tornou ainda maior.
Tipos de variáveis
Em JavaScript podemos usar três tipos de variáveis (Pereira e Silvério, 2023):
- var: ignora o escopo de bloco e permite hoisting (içamento).
- let: permite reatribuição de valor, mas respeita o escopo de bloco de código.
- const: não permite reatribuição (mas permite mutação de objetos/arrays).
Vamos analisar o Código 1 para entender melhor o uso dos tipos de variáveis. O código possui duas variáveis: escopoFuncao
, do tipo var e escopoBloco
, do tipo let. Os comentários adicionados no lado direito são as saídas dos comandos. Repare que a variável escopoBloco
funciona apenas dentro do comando if(true)
. Quando a linha 9 tenta mostrar o valor da variável, um erro do tipo Uncaught ReferenceError: escopoBloco is not defined
é retornado.

Fonte: Adaptado de Pereira e Silvério (2023).
No Código 2 vamos analisar um exemplo mais amplo, utilizando também a variável do tipo const
. O tipo const
também respeita o bloco do escopo, com a diferença de não permitir reatribuição de valores. Em outras palavras, apesar de ser considerado como uma variável o tipo const
não varia, pois é uma constante. A única exceção ocorre quando se trata de objetos ou arrays.

Agora que falamos sobre os tipos das variáveis, vamos discutir os tipos primitivos de dados suportados pelo JavaScript.
Tipos primitivos de dados
Toda linguagem de programação precisa trabalhar com alguns tipos de dados nativamente. Os mais comuns costumam ser int, float e outros. Em JavaScript teremos como opções os tipos string
, number
, null
, booleano
, bigint
e symbol
. O Código 3 tem a descrição de vários dados permitidos na linguagem, sendo que as variáveis são tipadas dinamicamente, ou seja, em tempo de execução. O comando typeof
verifica o tipo do valor e retorna no console qual foi o resultado.

No código podemos ver que strings
são tipos primitivos manipulados diretamente com métodos e operadores integrados. Já em C, as strings
são representadas como arrays de caracteres, exigindo bibliotecas como <string.h>
para facilitar operações comuns. O tipo number
contempla tanto valores inteiros (int
) quanto decimais (float
), não há distinção. O tipo null
representa a ausência intencional de valor. É diferente de undefined
, que indica que a variável foi declarada mas ainda não recebeu um valor. Os valores lógicos (true
ou false
) são usados em estruturas de controle e validações. O tipo bigint
representa inteiros muito grandes. O caractere n
no final indica que é um bigint
. É útil quando se precisa de alta precisão com números grandes (acima do limite do tipo number
). Por fim, o tipo Symbol
é usado para criar identificadores únicos. Mesmo dois símbolos com a mesma descrição não são iguais. Este é um recurso muito utilizado como chave privada ou identificador interno em objetos.
Considerações finais
O JavaScript dá aos desenvolvedores muitas opções de trabalho com dados. Além dos tipos primitivos, ainda há meios de trabalhar com arrays, objetos e outras estruturas de dados. Em outros artigos trabalharemos com essas possibilidades para ampliar as discussões.
Obrigado pela leitura e bons estudos!
Referências
HAVERBEKE, Marijn. Eloquent javascript: A modern introduction to programming. 4ª ed. No Starch Press, 2024.
PEREIRA, João Vitor; SILVÉRIO, Rafaela Petelin. Guia de JavaScript: o que é e como aprender a linguagem mais popular do mundo? São Paulo, 2023. Disponível em: <https://www.alura.com.br/artigos/javascript>. Acesso em: 4 maio. 2025.