Temos dois grupos de tipos em JavaScript:
- Tipos primitivos
- Tipos derivados/objetos
No grupo de tipos primitivos temos string, number, boolean, null, undefined, symbol e bigint. Os tipos symbol e bigint são mais recentes na linguagem e não serão exemplificados aqui.
Qualquer texto entre aspas (simples ou duplas) é do tipo string.
Um número inteiro ou de ponto flutuante é do tipo number. Para ser do tipo number, não deve estar entre aspas, caso contrário será uma string. Nnumberão há um tipo específico para inteiro ou ponto flutuante. Os dois casos são tipo number.
Um valor booleano sempre será true ou false. Podemos declarar diretamente os valores true ou false em uma variável ou esse valor booleano poderá ser obtido através de uma operação de comparação, onde por exemplo 1 < 2 resulta em true e 1 > 2 resulta em false.
O valor null sempre será declarado implicitamente a uma variável, onde significa ausência de valor. Ou seja, a variável declarada com o valor null, será do tipo null.
O valor undefined é quando tentamos utilizar uma variável declarada porém não inicializada. Então essa variável será do tipo undefined.
Vamos ver abaixo alguns exemplos:
// number
const age = 25
console.log(age)
// string
const name = 'Ricardo'
console.log(name)
// boolean
const isValid = true
console.log(isValid)
// null
let subtitle = null
console.log(subtitle)
// undefined
let description
console.log(description)No grupo de tipos derivados/objetos temos os objetos Javascript que incluem funções, arrays e expressões regulares. Todos estes são do tipo object.
// object
const person = {
name: 'Ricardo',
age: 39
}
// function
function double(number) {
return number * 2
}
// array
const numbers = [1, 2, 3, 4, 5]
// regular expression
const pattern = /\d{2,4}/g