Entenda os diferentes Tipos de dados na Programação (JavaScript)
Olá HaWker! Jeff Bruchado por aqui.
Esse é o quinto artigo da nossa série de artigos que vai cobrir a nossa jornada para Aprender Programação do Zero.
Bom, sem enrolação, vamos começar!
Dentro do universo da programação, nós temos diferentes Tipos de Dados disponíveis para utilizarmos no nosso dia-a-dia como Programador.
Este artigo tem como objetivo elucidar os diferentes tipos de dados disponíveis na Programação, especificamente no JavaScript que é a linguagem que escolhemos pra estudar aqui nessa série de artigos.
Bom, antes de tudo:
Você precisa entender que o JavaScript é uma linguagem de programação de tipagem dinâmica, o que significa que o tipo de uma variável pode mudar durante a execução do código.
Isso difere de linguagens de programação de tipagem estática, onde o tipo de uma variável é definido no momento da declaração e não pode ser alterado depois.
Sabendo disso podemos começar com os diferentes tipos:
String
As Strings são uma sequência de caracteres usada para representar textos.
As strings são delimitadas por aspas simples (' ') ou aspas duplas (" ").
Segue um exemplo de como declarar uma string no JavaScript:
let single = 'Olá, mundo!';let double = 'Olá, mundo!';
Como você pode ver, e como eu expliquei no artigo sobre variáveis, a declaração do tipo está diretamente relacionada a atribuição da variável, então para atribuir valores String a uma variável você pode fazer como exemplificado acima.
Number
O tipo Number é um tipo de dado que pode representar um número inteiro (1, 2, 20, 30, 35...) ou um número de ponto flutuante (1.2, 1.5, 2.5, 10.20, 20.50, 35.50...).
O JavaScript não tem um tipo de dado separado para números inteiros e números de ponto flutuante, então ambos são representados como números.
Segue um exemplo de como declarar um número:
let int = 42;let float = 3.14;
BigInt
O BigInt é um tipo de dado que representa números inteiros de precisão arbitrária.
Mas Jeff, o que significa isso?!
Basicamente eles referem-se a um tipo de dado usado em computação para representar números inteiros sem limitar seu tamanho pela quantidade de bits de uma palavra do computador.
Normalmente, a precisão dos números inteiros em computadores é limitada pelo tamanho da palavra (por exemplo, 32 bits ou 64 bits), o que define um limite superior e inferior para os valores que podem ser representados. Em contraste, os números inteiros de precisão arbitrária não têm um limite fixo de tamanho.
Eles podem representar números inteiros extremamente grandes (ou pequenos, se negativos) que excedem os limites dos tipos de dados inteiros padrão. Isso é útil em várias aplicações, como criptografia, matemática computacional, e sempre que operações com números muito grandes são necessárias.
E essa representação é feita pelo valor n, onde n é um número inteiro seguido por um n.
A seguir um exemplo de como se declara um BigInt:
let bigInt = 123456789012345678901234567890n;
Boolean
O tipo Boolean é um tipo de dado que pode assumir dois valores: true ou false.
Os valores booleanos são muitas vezes usados em estruturas de controle de fluxo (São os famosos If...else, em breve você vai receber um artigo sobre isso.) para testar se uma condição é verdadeira ou falsa.
E eu já adianto pra você que: Entender esse tipo é de extrema importância, porque os utilizamos a todo momento na nossa vida como Programador.
Abaixo segue um exemplo de como declarar um valor booleano:
let isNight = true;let isMorning = false;
Null
O tipo Null é um tipo de dado que representa a ausência de um valor.
Ele é usado quando um valor é esperado, mas não está disponível. Ou seja, ele é simplesmente um vazio que não existe.
Abaixo está um exemplo de como declarar um valor null:
let empty = null;
Undefined
O tipo Undefined é um tipo de dado que é atribuído automaticamente a uma variável que não foi inicializada (ou seja, não foi atribuído um valor).
Aqui nesse trecho eu preciso abrir um parênteses pelo seguinte problema:
Lendo o conceito acima pode ser que você entenda o tipo undefined e o tipo null como sendo iguais. Porém eles são diferentes.
Ambos os tipos representam "nenhum valor".
Porém a principal diferença entre eles, é que o undefined significa que uma variável foi declarada, mas ainda não tem nenhum valor atribuído a ela.
Em outras palavras o undefined é o valor padrão para variáveis que são declaradas mas não inicializadas.
Em contrapartida o null é um valor que representa a ausência intencional de qualquer valor de objeto. E ele é usado para indicar ou atribuir "nada" ou "nenhum valor" a uma variável.
Bom, mas vamos a um exemplo de como declarar uma variável com valor undefined:
let x;console.log(x); // undefined
Como mostrado acima, para declarar uma variável com valor undefined, você simplesmente só declara a variável sem atribuir nenhum valor a ela.
Symbol
O tipo de dado Symbol é um tipo de dado único e imutável usado para criar identificadores exclusivos.
Os símbolos são criados usando a função Symbol().
E para ser sincero eles são pouquíssimos utilizados, mas trouxe esse tipo aqui pra você saber que eles existem.
Abaixo um exemplo de declaração de um Symbol:
let symbol1 = Symbol('hello');let symbol2 = Symbol('hello');console.log(symbol1 === symbol2); // false
Object
Bom, na Programação e no JavaScript, além dos tipos de dados primitivos, existe também o tipo de dado Object, que é um tipo mais genérico que representa qualquer tipo de objeto.
Basicamente os objetos são compostos por pares de key: value e podem conter qualquer tipo de dado, incluindo outros objetos.
Por exemplo:
let obj = { id: 1, key: 'value', num: 42, isHawk: true, metadata: { createdBy: 'Jeff', updatedBy: 'John', },};
Ou seja, é através dos Objects que você vai conseguir trazer abstrações mais complexas relativas ao mundo real.
Com eles, você vai conseguir concentrar muito mais informações dentro de uma única variável.
Nesse instante eu te mostrei como funciona os objects, a seguir eu vou te mostrar como acessar esses valores, através das chaves dos Objects.
Acessando as chaves de um objeto
Para acessar os valores das chaves de um objeto, você pode utilizar a notação de ponto ou a notação de colchetes.
A seguir vou te mostrar exemplos de como acessar as chaves do objeto obj que definimos acima:
Notação de ponto
Primeiro nós temos a forma mais comum de acessar essas chaves, a notação de ponto. E essa é a maneira mais comum de acessar as chaves de um objeto.
Pra fazer isso, basta digitar o nome do objeto, seguido de um ponto e, em seguida, o nome da chave:
console.log(obj.id); // 1console.log(obj.key); // 'value'console.log(obj.num); // 42console.log(obj.isHawk); // trueconsole.log(obj.metadata.createdBy); // 'Jeff'console.log(obj.metadata.updatedBy); // 'John'
Notação de colchetes
E em contrapartida a segunda opção é usar a notação de colchetes, ela é útil quando a chave é uma variável ou uma string que pode não ser um identificador
JavaScript válido.
Para usar a notação de colchetes, digite o nome do objeto, seguido de colchetes e a chave entre aspas:
console.log(obj['id']); // 1console.log(obj['key']); // 'value'console.log(obj['num']); // 42console.log(obj['isHawk']); // trueconsole.log(obj['metadata']['createdBy']); // 'Jeff'console.log(obj['metadata']['updatedBy']); // 'John'
Ambas as notações são consideradas "corretas", e ambas tem sua aplicabilidade, a notação de colchetes, é especialmente utilizada quando você não sabe o valor da chave, ou o valor dessa chave é definida dinamicamente.
Mas entre as duas opções, se você tiver a possibilidade de escolher uma ou outra, sempre prefira utilizar a Notação de Ponto por ser mais concisa e deixar o código mais clean.
Conclusão
Pois bem HaWker, como você pode perceber, esse é um artigo bem denso, e de extrema importância.
Provavelmente esse é um dos mais importantes dos que eu já te enviei.
E com isso você entendeu que existem diferentes tipos de dados e cada um se aplica no seu contexto correto.
É de extrema importância que você consiga compreender esses conceitos para conseguir progredir no mundo da Programação.
Então se você não entendeu algo, ou se ficou com alguma dúvida, por favor! Me responda esse email com a sua dúvida, para que assim eu consiga te ajudar da melhor forma.
E lembre-se, caso você queira ter acesso completo a esse material da sequência de artigos que você vai receber, com exercícios práticos pra você estudar a teoria e logo já sair colocando em prática, clica aqui nesse link.
PS: Clique nele somente se você quer realmente acelerar.
Até porque, ao longo do tempo você vai receber tudo aqui, de forma totalmente gratuita. O que eu te ofereço nesse link é uma aceleração e uma maior organização com tudo dentro de um único lugar.
Se te interessar, siga em frente!
Espero que este artigo tenha ajudado você a entender melhor sobre esses diferentes Tipos de Dados, e que você tenha entendido a importância deles nas nossas vidas como Programadores.
E lembre-se, estou aqui para te ajudar em cada passo do caminho!
Sensacional HaWker! 👏🏻
Chegamos ao fim do nosso quinto artigo. 😮💨
E se você chegou até aqui, por favor, responda esse email com "Consegui aprender sobre os diferentes tipos de dados". Dessa forma eu vou saber que essa série de artigos está sendo útil pra você.
Somente um verdadeiro HaWker chega até o final.
Parabéns!
Estou feliz em te ter aqui.
Te vejo em breve, bora pra cima! 🦅
- Jeff Bruchado
Parabéns por chegar até aqui, HaWker! 🎉
Nesse momento que você aprendeu sobre os diferentes tipos de dados na programação JavaScript, que tal testar seus conhecimentos? Participe do quiz abaixo e veja o quanto você absorveu do nosso artigo.
É uma ótima maneira de fixar o aprendizado e se preparar para os próximos passos na sua jornada de programação.
Boa sorte e divirta-se!