Tipos de Dados
Published: 2021-03-03 23:30:01

Continuando meus estudos em JavaScript, hoje vou falar um pouco sobre os tipos de dados presentes no JavaScript, [POST](https://dev.to/inando85/bem-vindo-de-novo-javascript-1b48) com a explicação de porque resolvi fazer este conteúdo.

O JavaScript é uma linguagem de programação com tipagem dinâmica, com isso, não é necessário declarar que tipo de dado uma variável tem ou poderá receber. 

Com isso, é possível que uma variável ao ser criada receba um tipo de dado e durante o seu uso, esse tipo seja modificado. Conforme exemplo abaixo, onde irei criar uma variável que vai receber um number como dado, e depois irei trocar o valor do dado recebido para uma string.

```js
let myVariable = 30
console.log(myVariable) // 30

myVariable = 'Fernando'
console.log(myVariable) // Fernando
```

### Tipos de Dados:
- Number
- String
- Boolean
- Null
- Undefined
- Object
- Symbol
- BigInt

Irei explicar de forma resumida os principais, e no decorrer das postagens, irei aborda-los de forma mais profunda.

### Number

No JavaScript não existe diferenciação entre os número inteiros, decimais ou qualquer outro tipo de número existente. Conforme exemplo abaixo, todos são numbers.

```js
let age = 15
console.log(age) // 15

age = 300
console.log(age) // 300

age = 5.5
console.log(age) // 5.5
```

### String

String é uma cadeia de caracteres, ou seja, são textos. Para representarmos textos em JavaScript, o conteúdo deve estar dentro de aspas, podendo ser aspas simples `''` ou aspas duplas `""`. Porém, se as aspas simples for usada na abertura, o fechamento da string também deve ser realizado com a aspas simples, caso não seja, resultará em erro.

Todo conteúdo passado entre as aspas, será automaticamente convertido para string, inclusive números.

```js
let myName = 'Fernando'
console.log(myName) // Fernando

let price = "20.00"
console.log(price) // 20.00 -> Como string e não número

let myTeam = 'Botafogo"
console.log(myTeam) // Invalid or unexpected token
```

### Boolean

Boolean é uma lógica de valores verdadeiros ou falsos, são usados para verificar se uma condição na aplicação é verdadeira ou falsa.

Sendo representadas pelas palavras `true` ou `false`.

```js
let isAdmin = true
console.log(isAdmin) // true

let hasMoney = false
console.log(hasMoney) // false
```

### Null

Null é usado para o programador informar explicitamente que determinada variável não possui valor.

Muito comum usarmos na criação de uma variável que ao ser criada não receberá valor, esse valor será injetado posteriormente.

```js
let championshipTeam = null
console.log(championshipTeam) // null

championshipTeam = 'Botafogo'
console.log(championshipTeam) // Botafogo
```

### Undefined

Undefined é bem parecido com o `null`, também significa ausência de valor.

Mas a principal diferença, se dá pelo fato de que no undefined, essa ausência de valor é injetada pelo próprio JavaScript.

Se criarmos uma variável sem atribuir valor algum, nem mesmo o `null` falado acima, será atribuído o valor `undefined` para esta variável.

```js
let myGame
console.log(myGame) // undefined
```

### Object

Object são estruturas de dados mais complexas, e dentro delas é possível receber múltiplas propriedades e funções. Como por exemplo, arrays, datas, literais, entre outros.

```js
const person = {
 "name": "Fernando",
 "age": 35,
 "isAdmin": true
}
console.log(person) // {name: "Fernando", age: 35, isAdmin: true}
```

Estes são os principais tipos de dados presentes no JavaScript, mais para frente irei abordar cada um deles de forma menos superficial.

________________________________________________________________

Esse foi o segundo post da minha saga de estudos em JavaScript Vanilla. Espero que estejam gostando!

Qualquer dúvida ou sugestão, vocês me encontram nas minhas redes sociais:

[LinkedIn](https://linkedin.com/in/inando85)
[GIthub](https://github.com/inando85)
[Twitter](https://twitter.com/inando85)