2. JavaScript: Valores e Tipos

Jan 07 2023
Você sabia que o JavaScript digitou valores em vez de variáveis ​​digitadas, ao contrário de outras linguagens de programação. Quer saber se o JavaScript tem Type Enforcement? Mergulhe profundamente neste artigo para saber como e por que o JavaScript digitou valores.
Créditos da imagem: Wikimedia Commons. (Editado como Creative Liberty)

Você sabia que o JavaScript digitou valores em vez de variáveis ​​digitadas, ao contrário de outras linguagens de programação. Quer saber se o JavaScript tem Type Enforcement?

Mergulhe profundamente neste artigo para saber como e por que o JavaScript digitou valores. Além disso, saiba mais sobre os tipos integrados em JavaScript e se o Type Enforcement existe em JavaScript ou não!

JavaScript digitou valores, não digitou variáveis. Isso significa simplesmente que, em JavaScript, as variáveis ​​não têm tipos — os valores têm tipos. As variáveis ​​em JS são apenas contêineres simples para esses valores. (Isso você verá nos exemplos abaixo, o que isso significa )

Abaixo estão os 7 tipos embutidos disponíveis em JavaScript:

  • string→ Conjunto de caracteres ou texto.
  • number→ Número inteiro ou ponto flutuante.
  • boolean→ Verdadeiro ou Falso.
  • null→ Palavra-chave especial denotando nulo.
  • undefined→ Denotando cujo valor ainda não está definido.
  • object → valor composto onde você pode definir propriedades (localizações nomeadas) que contêm seus próprios valores de qualquer tipo. Os objetos são escritos entre chaves {} como nome: pares “valor”, separados por vírgulas.
  • var car = {Name : "Ford", Model : 2016, Color : "blue"}
    

JavaScript tem o typeof”operador “, que nos ajuda a examinar o valor e seu tipo:

O typeofoperador sempre retorna uma string.

Exemplos ilustrando a identificação de tipos de dados JS, usando typeofo operador:

var a;                       // declaring JavaScript Variable


console.log(typeof a);	      // "undefined" 
                              //(Because a is declared, but not yet initialized)

a = "42";                         
console.log(typeof a);	      // "string"

a = 1000;
console.log(typeof a);	      // "number"

a = false;
console.log(typeof a);	      // "boolean"

a = null;
console.log(typeof a);	      // "object"
                              // This is a long-standing bug in JS, returns object instead of null

a = undefined;
console.log(typeof a);	      // "undefined"

a = { car : "Ford" };
console.log((typeof a);	      // "object"

typeof Symbol()              // "symbol"

Isso deixa claro porque apenas valores em JS têm tipos e variáveis ​​são apenas contêineres para esses valores

Dica: “Indefinido” e “Não declarado” são diferentes

Muitos desenvolvedores assumirão que “indefinido” e “não declarado” são basicamente a mesma coisa, mas em JavaScript são diferentes.

  1. undefined-> Um valor que a variável declarada pode conter.
  2. "Não declarado" significa que a variável nunca foi declarada.
  1. Em suas mensagens de erro (“ReferenceError: b não está definido”)
  2. Em valores de retorno de typeof, que é "undefined"para ambos os casos — variável declarada, mas não inicializada e variável não declarada.
  3. //Error Messages----------------------------------------------------
    var a;
    console.log(a);               // "undefined" 
    console.log(b);              // ReferenceError: b is not defined
    // above Reference error doesn't means that b is undefined, here b is undeclared
    
    
    // Type Of----------------------------------------------------------
    var a;
    console.log(typeof a);     // "undefined"
    console.log(typeof b);    // "undefined"
    //no error thrown when we executed typeof b, even though b is undeclared variable
    

O JS Engine não insiste que a variável sempre contém valores do mesmo tipo inicial com o qual ela começa. A variável, em uma instrução de atribuição, pode conter um string, e em outro pode conter um number, e assim por diante.

var a = 42;
console.log(typeof a); // "number"

a = true;
console.log(typeof a); // "boolean"

Obrigado por ler :) É isso, espero que tenha gostado do artigo.

Quem sou eu para escrever?

Apenas um aluno curioso, que adora desenvolver sites e desenvolveu alguns sites usando vários modelos, usando React (do zero) também, a maioria deles como projetos pessoais ou sites de clubes universitários, desde os últimos 3 a 4 anos. Resumindo, já trabalhei com React, JavaScript, CSS e HTML e continuo aprendendo coisas novas diariamente!

Sinta-se à vontade para entrar em contato comigo, se quiser discutir qualquer coisa relacionada.

Eu ficaria feliz e feliz se você enviar seus valiosos comentários e sugestões. Suas sugestões realmente importam!!

Você pode entrar em contato comigo aqui -
LinkedIn:
https://www.linkedin.com/in/itaniyagupta/

Artigos anteriores da série, acesse abaixo :

1. Introdução ao JavaScripthttps:///@itaniyagupta/1-introduction-to-javascript-b518204f1fa6