Executando verificação de segurança...
2
Devi
2 min de leitura ·

[Aula 01] Tudo (ou quase tudo) sobre variáveis em JavaScript

Introdução

Olá Dev.
Hoje falarei sobre variáveis.

O que são variáveis?

Pense assim, variáveis são como caixas para guardar valores. Essa caixas podem conter vários tipos de dados (Data Types).

Escopo

Escopo é como se fosse um tipo de visibilidade das variáveis. Existem básicamente 2 tipos de escopo o Escopo Global e o Escopo Local.

Declaração de variáveis

As palvras-chave para declarar variáveis são var, let e const. Cada palavra-chave tem uma diferença, vejamos.

var

A palavra-chave var pode iniciar com um valor ou não.

Ex.:

var nomeDaVariavel = "valor";
console.log(nomeDaVariavel); // "valor"

ou

var nomeDaVariavel;
console.log(nomeDaVariavel); // undefined

E tem o escopo global.

Ex.:

var nomeDaVariavel = "valor";

function mostrarVariavel() {
    console.log(nomeDaVariavel);
}

mostrarVariavel(); // "valor"

let

A palavra-chave let pode iniciar com um valor ou não.

Ex.:

let nomeDaVariavel = "valor";
console.log(nomeDaVariavel); // "valor"

ou

let nomeDaVariavel;
console.log(nomeDaVariavel); // undefined

E tem o escopo local.

Ex.:

function mostrarVariavel() {
    let nomeDaVariavel = "valor";
    console.log(nomeDaVariavel);
}

mostrarVariavel(); // "valor"
console.log(nomeDaVariavel); // error

const

A palavra-chave const necessáriamente precisa inicar com um valor.

Ex.:

const nomeDaVariavel = "valor";
console.log(nomeDaVariavel); // "valor"

O valor de uma const não pode ser trocado.

Ex.:

const nomeDaVariavel = "valor";
nomeDaVariavel = 1; // error

E tem o escopo local.

Ex.:

function mostrarVariavel() {
    const nomeDaVariavel = "valor";
    console.log(nomeDaVariavel);
}

mostrarVariavel(); // "valor"
console.log(nomeDaVariavel); // error

Conclusão

Alguns links Importantes:
Documentação mdn - variáveis
Variáveis e Tipos Primitivos - Curso em vídeo

Obrigado por ter lido até aqui, tchau.

Carregando publicação patrocinada...
4

Na verdade o var nem sempre tem escopo global. Segundo a documentação, o escopo também pode ser uma função. Por exemplo, no código abaixo:

function f() {
    var x = 1;
    console.log('dentro da função:', x);
}

f();
console.log('fora da função:', x); // erro

Dentro da função ele imprime o valor de x. Mas o segundo console.log dá erro porque tenta acessar uma variável que não existe (pois x foi declarado dentro da função, portanto não existe fora dela).

Mais ainda, se eu fizer isso:

var x = 2;

function f() {
    var x = 1;
    console.log('dentro da função:', x);
}

f();
console.log('fora da função:', x);

O resultado será:

dentro da função: 1
fora da função: 2

Pois agora temos duas variáveis x, cada uma no seu próprio escopo (uma dentro da função, outra fora).


Por fim, vale lembrar que existem várias outras diferenças, listadas na documentação, e também tem vários exemplos aqui. Sugiro a leitura, pois as diferenças vão muito além do que foi apresentado (sei que a ideia foi só introduzir o assunto, mas acho legal complementar, pois ainda tem muito mais).

1

Valeu cara eu estou aprendendo ainda e utilizando o método do feynman e essa foi a forma que achei de aplica-la.

1

Se você pretende continuar criando posts assim futuramente, peço que ajude a comunidade especificando a linguagem no titulo, pois se não se torna muito genérico e pode mais atrapalhar do que ajudar.

0