CodeGym /Cursos /Frontend SELF PT /Variáveis e tipos de dados em JavaScript

Variáveis e tipos de dados em JavaScript

Frontend SELF PT
Nível 33 , Lição 1
Disponível

2.1 Variáveis em JavaScript

JavaScript é uma linguagem de programação flexível e dinâmica, que suporta diferentes formas de declarar variáveis e trabalhar com tipos de dados. Nesta aula, vamos ver três principais formas de declarar variáveis (var, let, const) e os principais tipos de dados primitivos em JavaScript.

Variáveis em JavaScript

JavaScript é uma linguagem com tipagem dinâmica. As variáveis nele não têm tipo. Qualquer variável pode receber qualquer valor a qualquer momento (mas tem umas nuances).

Para criar uma variável, é preciso escrever uma construção assim:

    
      var name;
    
  

Você pode imediatamente atribuir um valor à variável:

    
      var name = value;
    
  

Mas na verdade, em JavaScript existem 3 modos diferentes de criar variáveis. Vamos falar mais sobre eles agora.

Operador var

Variáveis declaradas com var têm escopo funcional ou global. Elas estão sujeitas ao "hoisting", o que significa que sua declaração é movida para o topo do escopo durante a execução do código.

Exemplo:

JavaScript
    
      console.log(x); // undefined
      var x = 10;
      console.log(x); // 10
    
  

Neste exemplo, a variável x é elevada ao começo do seu escopo, então o primeiro console.log imprime undefined.

Em outras palavras, o "hoisting" transforma nosso código nisso:

JavaScript
    
      var x;
      console.log(x); // undefined
      x = 10;
      console.log(x); // 10
    
  

Operador let

Os desenvolvedores queriam muito mudar o comportamento do operador var, mas tinham medo de quebrar milhões de linhas de código já escritas. Por isso, eles simplesmente inventaram outro operador, que também cria variáveis, mas com um comportamento um pouco diferente.

Variáveis declaradas com let têm escopo de bloco. Isso significa que elas estão acessíveis apenas dentro do bloco de código (normalmente entre chaves {}) no qual foram declaradas. let não é sujeito ao hoisting da mesma forma que var.

Exemplo:

A variável y existe apenas dentro do bloco if.

JavaScript
    
      if (true) {
        let y = 20;
        console.log(y); // 20
      }

      console.log(y); // ReferenceError: y is not defined
    
  

Operador const

Variáveis declaradas com const também têm escopo de bloco e não podem ser reatribuídas após sua inicialização. No entanto, isso não torna os objetos declarados com const imutáveis — suas propriedades podem ser alteradas.

Ou seja, a variável não pode mudar, mas o objeto a que ela se refere sim. Queriam fazer o melhor, mas saiu como sempre.

Exemplo:

Neste exemplo, a constante x não pode ser reatribuída, mas o objeto obj pode ser alterado.

JavaScript
    
      const x = 30;
      console.log(x); // 30
      x = 40; // TypeError: Assignment to constant variable.

      const obj = { name: 'Alice' };
      obj.name = 'Bob'; // Isso é permitido
      console.log(obj.name); // Bob
    
  

2.2 Tipos de dados primitivos

JavaScript suporta vários tipos de dados primitivos, que representam valores simples, não sendo objetos complexos.

Tipo Number

Representa quaisquer valores numéricos, incluindo números inteiros e de ponto flutuante.

Exemplos:

JavaScript
    
      let num = 42;
      let pi = 3.14;
    
  

Tipo String

Representa dados textuais: strings, caracteres, emojis. Tudo que parece com texto — é aqui.

Exemplos:

JavaScript
    
      let greeting = "Hello, world!";
      let facepalm = "🤦";
      let char = 'x';
    
  

Tipo Boolean

Representa valores lógicos true ou false.

JavaScript
    
      let isTrue = true;
      let isFalse = false;
    
  

Tipo Null

Representa ausência intencional de valor.

JavaScript
    
      let empty = null;
    
  

Se o tipo consiste em um único valor, que significa ausência de valor, talvez ele seja mais um valor único do que um tipo único, não é?

Tipo Undefined

Representa o valor de uma variável que foi declarada, mas não inicializada.

JavaScript
    
      let notAssigned;
      console.log(notAssigned); // undefined
    
  

2.3 Comparando var, let, e const

Vamos dar uma olhada final nas diferenças entre nossos três métodos de criar variáveis:

Característica var let const
Escopo Funcional ou global De bloco De bloco
Variação (Hoisting) Sim, mas a inicialização não é afetada Não Não
Reatribuição Sim Sim Não
Inicialização Opcional Opcional Obrigatória

JavaScript oferece vários métodos de declaração de variáveis, cada um com suas peculiaridades e aplicabilidade dependendo do contexto. var é menos usado por causa de suas características de hoisting e escopo global. let e const são preferidos em JavaScript moderno por causa do seu escopo de bloco e controle sobre reatribuição.

Os tipos de dados primitivos permitem trabalhar com estruturas de dados básicas, fornecendo a funcionalidade básica necessária para criar aplicativos complexos. E isso é o que torna JavaScript a linguagem mais popular do mundo :)

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION