Tipos de Dados Primitivos em Javascript

Guilherme Alves
6 min readAug 15, 2019

--

Muitas vezes, nos primeiros passos do aprendizado de uma determinada linguagem de programação nós não somos apresentados a todos os tipos de dados iniciais que ela dispõe, normalmente pela extensão de informação que cada um possui. Logo, o conteúdo deste texto possui como intuito apresentar os conceitos primários dos principais tipos primitivos de dados em Javascript e um pouco de como eles podem ser utilizados.

Assim como em qualquer linguagem de programação, a linguagem Javascript possui diferentes tipos de dados pré-construídos que são utilizados quando,por exemplo, temos de representar algo que faz parte de nossa realidade como números e palavras em um determinado algoritmo.

O Javascript possui seis tipos principais de dados primitivos, esses que podem ser representados de outras maneiras em alguma linguagem de programação que você já conheça. Dentre eles estão : Boolean, Null, Undefined, Number, BigInt, String. Vejamos como são e como funcionam cada um deles.

Boolean

Boolean é um tipo de dado que só pode assumir os valores true e false, que em português é o equivalente a verdadeiro e falso respectivamente. Em Javascript, Boolean é comumente utilizado como uma função em variáveis, condições, objetos dentre outros quando temos de verificar se um retorno foi verdadeiro ou não .

No código Javascript abaixo é possível visualizar de que forma os valores “booleanos” são representados :

Podemos fazer uso da função Boolean() passando como parâmetro uma condição ou até mesmo uma expressão. A função irá validar o parâmetro e retornará um valor “booleano” como resultado. Vale lembrar que variáveis e objetos com valores definidos sempre possuem o valor “booleano” true, enquanto que null, undefined, NaN , 0 ou uma string vazia sempre serão false.

Nós também podemos fazer uso de um objeto booleano no Javascript, seguindo a seguinte sintaxe :

Note que apesar do new Boolean() ter recebido como parâmetro o valor false, quando colocamos a variável onde ele está armazenado na função Boolean() temos como resultado o valor true. Isso acontece porque a variável x “aponta” para um objeto e como citado anteriormente, em Javascript objetos com valores definidos são true por padrão.

Null

O tipo null pode ser utilizado para representar o nada ou o vazio . Se você conhece a linguagem de programação Python, provavelmente já deve ter visto o None, que é bastante parecido com o que temos em Javascript. Assim como em Python, no Javascript o null também é um objeto. Dessa forma podemos utilizá-lo para esvaziar um objeto como no exemplo abaixo :

Undefined

Semelhante ao null, nós temos o tipo primitivo de dado undefined. Ele é designado automaticamente quando por exemplo, uma variável vazia é criada .

Assim como o null também podemos utilizá-lo para esvaziar um objeto. Uma função também retornará undefined caso ela não retorne nenhum valor .

Agora que falamos sobre o null e o undefined, talvez você tenha ficado confuso pois ambos são extremamente parecidos. A melhor explicação para a diferença entre eles é que eles são iguais em valor, mas diferentes em tipos. Como assim ? Observe o exemplo abaixo :

Usando a função typeof() nós podemos visualizar o tipo de uma variável. O tipo do undefined é o próprio undefined e no caso do null é mostrado que é um objeto, isso condiz com o que foi falado no tópico anterior .

Observe também que no quesito de equivalência quando comparamos os dois com === é retornado false, isso acontece porque o igual triplo compara ambos a partir de seus respectivos tipos e valores . Já na última linha isto não acontece pois o tipo de comparação é diferente . Caso você tenha curiosidade com relação a diferença entre estes dois tipos de comparação de igualdade em Javascript, você pode visitar este link : https://codeburst.io/javascript-double-equals-vs-triple-equals-61d4ce5a121a

Number

O Javascript possui dois tipos de representação de números, sendo Number o primeiro e mais comum deles, através deles podemos fazer uso de valores numéricos para a construção de algoritmos. Eles podem ser representados de forma decimal, fazendo uso de um ponto flutuante entre os algarismos, e não decimal .

Além da representação de números no formato de ponto flutuante, este tipo de dado também possui três valores simbólicos: +Infinity que é uma maneira abstrata de representar o valor infinito positivo, -Infinity que segue a mesma lógica que sua contraparte porém com o valor infinito negativo e por fim o NaN(not-a-number). O número 0 é o único número inteiro que possui duas representações, +0 e -0 e ambos são totalmente iguais .

BigInt

Apesar de extenso o tipo Number é limitado, sendo capaz de representar apenas os valores que estão entre -(2^53 -1) e 2^53 -1. Passando disso é preciso fazer uso de valores no formato de ponto flutuante que se aproximem do número desejado, algo que não é recomendado. Para resolver esse problema o tipo de dado BigInt foi criado. Com ele é possível representar inteiros de precisão não exata. Para fazer uso dele você pode adicionar um n ao final do número inteiro ou chamar a função BigInt() como mostrado abaixo:

Números do tipo Number e BigInt não podem ser usados na mesma expressão pois ambos são de tipos diferentes.

Strings

Strings estão entre os tipos de dados mais comuns e nada mais são do que uma série de caracteres com aspas em suas extremidades como “Hello World” ou ‘camelCase’. Strings também podem ser construídas usando a função String().

É possível fazer uso de aspas dentro de uma string contanto que elas não sejam iguais às aspas que estão nas extremidades, caso isso aconteça a string será “fechada” antes e ocorrerá um erro ao exibi-la .

É possível realizar adição de strings, quando isso ocorre nos referimos a essa operação como concatenação. Numa concatenação de strings, uma string será complementada com o conteúdo de outra.

Em algum caso pode ser necessário escrever uma string extensa que pode ser dividida em pedaços. Para realizar tal ação fazemos uso de um caractere especial. Tudo o que você precisa fazer é adicionar um \n no fim de cada linha, isso fará com que o Javascript reconheça que ao exibir a string ela deve ser exibida em linhas subsequentes. Existem também outros caracteres especiais que podem ser inseridos para realizar determinadas ações como apagar um caractere(\b), apagar todo o conteúdo que antecede o caractere(\r), fazer o mesmo que a tecla tab(\t) faria num editor de texto etc.

Em arrays podemos acessar cada elemento pelo seu índice e o mesmo conceito pode ser aplicado nas strings, onde cada índice representa um caractere da string. Existem duas maneiras de acessar cada caractere isoladamente: através da função charAt() e [ ]. A função .length retorna o comprimento total de uma string e é útil quando não sabemos o tamanho de uma string, sendo bastante usada em expressões de manipulação.

Conclusão

Tendo visto as características dos principais tipos de dado, é fácil perceber semelhanças com outra linguagens principalmente no quesito de sintaxe. Esse é um aspecto positivo que devemos usar em nosso favor quando temos de aprender uma nova linguagem, pois podemos reaproveitar muito do conhecimento anterior. Por fim, a linguagem Javascript é bastante poderosa e não se limita a apenas os tipos de dados apresentados aqui sendo atualmente um dos pilares do desenvolvimento web .

--

--