Tipos de dados JS
Variáveis JavaScript podem conter diferentes tipos de dados: números, strings, objetos e mais:
Exemplo:
let length = 16; // Number
let lastName = "Johnson"; // String
let x = {firstName:"John", lastName:"Doe"}; // Object
O conceito de tipos de dados
Na programação, os tipos de dados são um conceito importante.
Para poder operar em variáveis, é importante saber algo sobre o tipo.
Sem tipos de dados, um computador não pode resolver isso com segurança:
let x = 16 + "Volvo";
Faz algum sentido adicionar "Volvo" a dezesseis? Isso produzirá um erro ou um resultado?
JavaScript tratará o exemplo acima como:
let x = "16" + "Volvo";
Ao adicionar um número e uma string, o JavaScript tratará o número como uma string.
Exemplo:
let x = 16 + "Volvo";
Exemplo:
let x = "Volvo" + 16;
JavaScript avalia expressões da esquerda para a direita. Sequências diferentes podem produzir resultados diferentes:
Exemplo:
let x = 16 + 4 + "Volvo";
Resultado
20Volvo
JavaScript:
let x = "Volvo" + 16 + 4;
Resultado
Volvo164
No primeiro exemplo, JavaScript trata 16 e 4 como números, até atingir "Volvo".
No segundo exemplo, como o primeiro operando é uma string, todos os operandos são tratados como strings.
Tipos de JavaScript são dinâmicos
JavaScript possui tipos dinâmicos. Isso significa que a mesma variável pode ser usada para conter diferentes tipos de dados:
Exemplo:
let x; // Now x is indefinido
x = 5; // Now x is a Number
x = "John"; // Now x is a String
JavaScript Strings
Uma string (ou uma string de texto) é uma série de caracteres como "John Doe".
As strings são escritas com aspas. Você pode usar aspas simples ou duplas:
Exemplo:
let carName1 = "Volvo XC60"; // Using double quotes
let carName2 = 'Volvo XC60'; // Using single quotes
Você pode usar aspas dentro de uma string, desde que não correspondam às aspas em torno da string:
Exemplo:
let answer1 = "It's alright"; // Single quote inside double quotes
let answer2 = "He is called 'Johnny'"; // Single quotes inside double quotes
let answer3 = 'He is called "Johnny"'; // Double quotes inside single quotes
Números de JavaScript
JavaScript possui apenas um tipo de número.
Os números podem ser escritos com ou sem decimais:
Exemplo:
let x1 = 34.00; // Written with decimals
let x2 = 34; // Written without decimals
Números muito grandes ou muito pequenos podem ser escritos com notação científica (exponencial):
Exemplo:
let y = 123e5; // 12300000
let z = 123e-5; // 0.00123
Booleanos JavaScript
Os booleanos podem ter apenas dois valores: true ou false.
Exemplo:
let x = 5;
let y = 5;
let z = 6;
(x == y) // Returns true
(x == z) // Returns false
Os booleanos costumam ser usados em testes condicionais.
Arrays JavaScript
As matrizes de JavaScript são escritas com colchetes.
Os itens da matriz são separados por vírgulas.
O código a seguir declara (cria) uma matriz chamada cars, contendo três itens (nomes de carros):
Exemplo:
const cars = ["Saab", "Volvo", "BMW"];
Os índices de matriz são baseados em zero, o que significa que o primeiro item é [0], o segundo é [1] e assim por diante.
Objetos JavaScript
Os objetos JavaScript são escritos com chaves {}.
As propriedades do objeto são escritas como pares nome: valor, separados por vírgulas.
Exemplo:
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
O objeto (pessoa) no exemplo acima tem 4 propriedades: firstName, lastName, age e eyeColor.
O tipo de operador
Você pode usar o typeof operador JavaScript para encontrar o tipo de uma variável JavaScript.
O typeof operador retorna o tipo de uma variável ou expressão:
Exemplo:
typeof "" // Returns "string"
typeof "John" // Returns "string"
typeof "John Doe" // Returns "string"
Exemplo:
typeof 0 // Returns "number"
typeof 314 // Returns "number"
typeof 3.14 // Returns "number"
typeof (3) // Returns "number"
typeof (3 + 4) // Returns "number"
Undefined
Em JavaScript, uma variável sem valor tem o valor indefinido. O tipo também é indefinido.
Exemplo:
let car; // Value is indefinido, type is indefinido
Qualquer variável pode ser esvaziada, definindo o valor para indefinido. O tipo também será indefinido.
Exemplo:
car = indefinido; // Value is indefinido, type is indefinido
Valores Vazios
Um valor vazio não tem nada a ver com indefinido.
Uma string vazia tem um valor e um tipo legais.
Exemplo:
let car = ""; // The value is "", the typeof is "string"
Fonte: w3schools