Para armazenar informações em nossos programas escritos em JS precisamos utilizar variáveis e constantes. Nesta parte do tutorial vamos aprender sobre os assuntos discutos neste parágrafo.

Os conceitos básicos sobre variáveis, contantes e escopo foram vistos em Portugol: Variáveis sendo a leitura recomendada.

Para a declaração de variáveis em JS, podemos utilizar as palavras reservadas let e var. A linguagem JS possui tipagem dinâmica, não sendo necessário a declaração do tipo de dada para a variável.

Uso de var e let

var: JS versão de 1995 até 2015
let: JS versão a partir de 2015

Exemplo 1
let nome_variavel; //undefined
var tipo_dado nome_variavel; //undefined

A linguagem JS permite que essa declaração de variáveis seja feita em apenas uma linha. Nesse tipo de declaração, os nomes das variáveis são separados por (,).

Sintaxe
let nome_variavel1, nome_variavel2, nome_variavelN;
Exemplo 2
let var1,var2,var3

A atribuição de valor a uma variável é feita utilizando o operador (=) podendo ser em linha. Outros operadores serão vistos mais adiante em JavaScript: Operadores.

Sintaxe
let nome_variavel = valor
Exemplo 3
let valor = 1

A declaração de constantes em JS é feita utilizando a palavra reservada const semelhante à várias outras linguagens no estilo-C. Uma vez iniciada, uma constante não pode ter seu conteúdo alterado.

O conceito de constantes foi visto em Portugol: Constantes e Tutorial C: Constantes.

Sintaxe
const NOME_CONSTANTE = valor;
Exemplo 4
const PI = 3.14;

JS permite que essa declaração seja feita em apenas uma linha. A sintaxe é semelhante ao que foi visto no exemplo acima. Nesse tipo de declaração os nomes das constantes são separados por (,).

Sintaxe
const NOME_CONSTANTE1 = valor1, NOME_CONSTANTE2 = valor2, NOME_CONSTANTEN= valorN;
Exemplo 5
const CONSTANTE = 1, CONSTANTE2 = 2

A visibilidade ou escopo de variáveis e constantes em JS são divididas em 3 tipos: Bloco, Função e Global.

Qualquer declaração de constantes ou variáveis feitas fora de uma função tem visibilidade global podendo ser acessada por qualquer função ou arquivo .js.

Exemplo 6
let variavel; //global

function funcao() {
  //omitido
}

Qualquer declaração de constantes ou variáveis feitas dentro de uma função tem visibilidade local/função podendo ser acessada apenas dentro da própria função.

Exemplo 7
let variavel; //global

function funcao() {
  let variavel; //função
}

As variáveis e constantes definidas dentro de um bloco de código tem escopo de bloco e não podem ser acessadas de fora. Variáveis e constantes globais podem ser acessadas dentro do bloco.

Exemplo 8
let var1
{ //bloco
    let var2;
    console.log(var1);
}

A linguagem JS, assim como Lua e Python, por exemplo, possui a característica de inferência de dado. Isso significa que quanto declaramos uma variável não precisamos informar tipo. A inferência desse tipo de dado é feita quando um valor é atribuído à variável.

Exemplo 9
let numero = 10;
numero = "string";

Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem JS, vamos ver alguns exemplos de declaração de variáveis.

Exemplo 10
const CONSTANTE = 3.14;
let valor = 999;
let float = 1.99;
let vchar = 'Z';
let string1 = 'string';
let string2 = "string";
let array = [1,2,3];;
let matriz = [[1,],[1,2]];
let booleano = false;

A linguagem JS fornece o recurso de "desempacotar"(unpacking) valores de arrays, propriedades de objetos e atribui-los à variáveis. Abaixo, a sintaxe sobre o que foi explicado:

Sintaxe
let [var1, var2] = [valor1, valor2]; //vetor

[var1, var2] = [valor1, valor2]; //vetor
Exemplo 11
let [a,b] = [100,200];
console.log(a,b)
Saída
100   200

Os identificadores(Varíaveis, constante e outros) em JS, assim como em várias outras linguagens, precisam seguir algumas regras no momento da declaração:

Regras
  1. Devem conter apenas letras, números, underscore e $.
  2. Devem iniciar com letra, _ , $
  3. Identificadores são case-sensitive. Nome e NOME são diferentes
  4. Não podem utilizar palavras reservadas
Exemplo 11
//válidos
let nome
let NOME
let _nome

//inválidos
let 1nome
let um variavel
let 123

Como toda linguagem, JS possui um conjunto de palavras reservadas(keywords) que são reconhecidas como comandos e não podem ser utilizadas em variáveis, constantes e funções.

Tab. 1: Palavras reservadas
abstract arguments await boolean break
byte case catch const continue
default delete do else eval
false final finally for function
goto if implements in instanceof
let native new null package
private protected public return static
switch synchronized this throw throws
transient true try typeof var
void volatile while with yield
class enum export extends import
super - - - -
  1. 14/08/2025 - revisão 3 - Ajustes: pontuais e 'Objetivos'
  2. 26/09/2024 - revisão 2 - Ajustes gramaticais pontuais, outros ajustes
  3. 05/10/2023 - revisão 1 - Correção em layout, navegação e erros gramaticais
  4. 31/05/2023 - versão inicial