DEV Community

Cover image for JavaScript Fundamentos - Variáveis e Tipos de Dados
Jorge Nascimento
Jorge Nascimento

Posted on

JavaScript Fundamentos - Variáveis e Tipos de Dados

JavaScript é uma das linguagens de programação mais popular do mundo, é utilizada tanto para desenvolvimento no front end, back end, mobile entre outras finalidades. É uma linguagem interpretada, multi paradigmas e com tipagem dinâmica.

É fundamental conhecer bem a base da linguagem antes de se aventurar a aprender uma lib/framework como react, vue e angular.

Nesse post inicial vamos falar sobre os tipos de variáveis e suas características no Javascript.

Variáveis

Utilizamos as palavras reservadas Var, Let e Const para criação de variáveis em JavaScript.

As regras de criação de variáveis seguem o padrão [a-zA-Z0-9_$]

  • As variáveis possuem os seguintes ciclo de vida:

    • Declaração: Quando o nome é registrado no contexto de execução (Escopo).
    • Inicialização: A variável é inicializada com valor undefined.
    • Atribuição: Um valor é atribuído para a variável.

Características

Var - Na declaração com VAR quando o escopo é interpretado a variável é inicializada como undefined caso tente exibi la antes da mesma ser declarada, não respeitando o bloco e permitindo a redeclaração e reatribuição.

// pi inicializada com undefined
console.log(pi);

var pi = 3.141592;

// permite a redeclaração da variável
var pi = 3;

console.log(pi); // => 3

// Mesmo sendo declarada dentro de um escopo a variáveis é acessada fora (içamento)
if (true) {
  var pi = 2;
}

console.log(pi); // => 2
Enter fullscreen mode Exit fullscreen mode

Let - Na declaração com LET o escopo é respeitado, pode ser reatribuida mas não redeclarada.

console.log(pi); // => ReferenceError: Cannot access 'pi' before initialization

let pi = 3.141592;

let pi = 3; // => SyntaxError: Identifier 'pi' has already been declared

pi = 3; // permite reatribuição

// Declarado dentro do escopo não pode acessada fora.
if (true) {
  let pi = 2;
}

console.log(pi); // => 3
Enter fullscreen mode Exit fullscreen mode

Const - Na declaração com CONST o escopo é respeitado, não pode ser reatribuido nem redeclarado.

console.log(pi); // => ReferenceError: Cannot access 'pi' before initialization

const pi = 3.141592;

const pi = 3; // => SyntaxError: Identifier 'pi' has already been declared

pi = 3; // TypeError: Assignment to constant variable.

// Declarado dentro do escopo não pode acessada fora.
if (true) {
  const pi = 2;
}

console.log(pi); // => 3
Enter fullscreen mode Exit fullscreen mode

Tipos de dados

Vamos entender os tipos de dados fornecidos pela JS.

Os tipo de dados se dividem em Primitivos e Objetos.

Os Tipos primitivos são: Number | Boolean | String | Null | Undefined e Symbol.

// O operador typeof retorna uma string indicando o tipo de um operando.

typeof 10; // => 'number'
typeof "JavaScript"; // => 'string'
typeof true; // => 'boolean'
typeof Symbol(); // => 'symbol'
typeof null; // => 'object'
typeof underfined; // => 'underfined'
Enter fullscreen mode Exit fullscreen mode

Os Tipos Objetos são valores que representam uma referência em memória que pode ser alterada, exemplo: Function | Object | Arrays | Regex | Date...

typeof function sum(a, b) {
  return a + b;
}; // => 'function'
typeof { name: "Linus Torvald" }; // => 'object'
typeof [1, 2, 3, 4, 5]; // => 'object'
typeof /[a-zA-Z_$]/; // => 'object'
typeof new Date(); // => 'object'
Enter fullscreen mode Exit fullscreen mode

Por hoje é isso pessoal, nos próximos postes iremos entrar de forma mais detalhadas nos tipos de dados e as API's fornecidas para sua manipulação.

Obrigado Por ler.

** Exemplos são baseado no curso JavaScript - MasterClass do Rodrigo Branas.



Este post tem como objetivo ajudar quem esta começando no aprendizado das tecnologias web, além de servir como incentivo no meus estudos e a criar outros posts pra fixação do aprendizado.


Me paga um ☕ ? | pix: nascimento.dev.io@gmail.com


Me Sigam :)

Linkedin |
Github

Sentry blog image

How to reduce TTFB

In the past few years in the web dev world, we’ve seen a significant push towards rendering our websites on the server. Doing so is better for SEO and performs better on low-powered devices, but one thing we had to sacrifice is TTFB.

In this article, we’ll see how we can identify what makes our TTFB high so we can fix it.

Read more

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay