- [Verificando Tipos de Dados e Casting](#verificando-tipos-de-dados-e-casting)
- [Verificando Tipos de Dados](#verificando-tipos-de-dados)
- [Mudando Tipo de Dado (Casting)](#mudando-tipo-de-dado-casting)
@ -58,7 +58,7 @@ Tipos de dados primitivos em JavaScript inclui:
1. Numbers - Inteiros, floats
2. Strings - Qualquer dado entre aspas simples, aspas duplas e crase
3. Booleans - valores verdadeiros e falsos
3. Booleans - valores verdadeiros ou falsos
4. Null - valor vazio ou sem valor
5. Undefined - variável declarada sem um valor
6. Symbol - Um valor único que pode ser gerado por um construtor de símbolo
@ -69,43 +69,43 @@ Tipos de dados não primitivos em JavaScriot inclui:
2. Arrays
Agora, vamos ver exatamente oque significa tipos de dados primitivos e não primitivos.
*Primitivo* são tipos de dados imutáveis(não-modificável). Uma vez criado um tipo de dado primitivo nós não podemos mais modificá-lo.
*Primitivo* são tipos de dados imutáveis(não-modificável). Uma vez criado um tipo de dado primitivo nós não podemos mais modificá-lo.
**Exemplo:**
```js
let word = 'JavaScript'
let exemplo = 'JavaScript'
```
Se nós tentarmos modificar uma string armazenada na variável *word*, o JavaScript irá mostar um error. Qualquer dado entre aspas simples, aspas duplas, ou crase é um string.
Se nós tentarmos modificar uma string armazenada na variável *exemplo*, o JavaScript irá mostar um error. Qualquer dado entre aspas simples, aspas duplas, ou crase é um string.
```js
word[0] = 'Y'
exemplo[0] = 'Y'
```
Esta expressão não muda a string armazenada na variável *word*. Então, podemos dizer que strings não são modificavéis ou in outras palavras imutáveis.
Esta expressão não muda a string armazenada na variável *exemplo*. Então, podemos dizer que strings não são modificavéis ou in outras palavras imutáveis.
Tipos de dados primitivos são comparados pelo seu valor. Vamos comparar valores de dados diferentes. Veja o exemplo abaixo:
```js
let numeroUm = 3
let numeroDois = 3
console.log(numeroUm == numeroDois) // verdadeiro
console.log(numeroUm == numeroDois) // verdadeiro
let js = 'JavaScript'
let py = 'Python'
console.log(js == py) // falso
console.log(js == py) // falso
let LuzLigar = true
let lightApagar = false
let luzLigar = true
let luzApagar = false
console.log(LuzLigar == lightApagar) // falso
console.log(luzLigar == luzApagar) // falso
```
### Tipos de Dados Não Primitivos
*não primitivos* são tipos de dados modificáveis ou mutáveis. Nós podemos modificar o valor de um dado tipo não primitivo depois de criado.
*Não primitivos* são tipos de dados modificáveis ou mutáveis. Nós podemos modificar o valor de um dado tipo não primitivo depois de criado.
Vamos ver isso criando um array, um array é uma lista de valores de dados entre colchetes. Arrays que contém o mesmo ou diferentes tipos de dados. Valores de Arrays são referenciados pelo seu index. Em JavaScript o index do array começa em zero, em outras palavras o primeiro elemento de um array é encontrado no index zero, o segundo elemento no index um, e o terceiro elemento no index dois, etc.
```js
@ -119,19 +119,19 @@ Como você pode ver, um array é um tipo de dado não primitivo e mutável. Tipo
```js
let nums = [1, 2, 3]
let numbers = [1, 2, 3]
let numeros = [1, 2, 3]
console.log(nums == numbers) // falso
console.log(nums == numeros) // falso
let userOne = {
name:'Asabeneh',
role:'teaching',
country:'Finland'
nome:'Asabeneh',
profissao:'professor',
país:'Finland'
}
let userTwo = {
name:'Asabeneh',
role:'teaching',
nome:'Asabeneh',
profissao:'professor',
country:'Finland'
}
@ -142,14 +142,14 @@ Regra de ouro, nós não comparamos tipos de dados não primitivos. Não se comp
```js
let nums = [1, 2, 3]
let numbers = nums
let numeros = nums
console.log(nums == numbers) // verdadeiro
console.log(nums == numeros) // verdadeiro
let userOne = {
name:'Asabeneh',
role:'teaching',
country:'Finland'
nome:'Asabeneh',
profissao:'Professor',
país:'Finland'
}
let userTwo = userOne
@ -157,7 +157,7 @@ let userTwo = userOne
console.log(userOne == userTwo) // verdadeiro
```
Com dificuldade de entender a diferença entre tipos de dados primitivos e tipos de dados não primitivos, você não é o único. Calma e apenas vá para a próxima sessão e tente voltar aqui depois de algum tempo. Agora vamos começar com tipos de dados do tipo número.
Com dificuldade de entender a diferença entre tipos de dados primitivos e tipos de dados não primitivos? Você não é o único. Calma e apenas vá para a próxima sessão e tente voltar aqui depois de algum tempo. Agora vamos começar com tipos de dados do tipo número.
## Números
@ -168,70 +168,70 @@ Vamos ver alguns exemplos de Números.
```js
let idade = 35
const gravidade = 9.81 // nós usamos const para valores que não mudam, constante gravitacional em m/s2
let massa = 72 // massa em Kilogramas
const PI = 3.14 // pi constante geométrica
const gravidade = 9.81 // nós usamos const para valores que não mudam, constante gravitacional em 9,8 m/s².
let massa = 72 // massa em Kilogramas
const PI = 3.14 // pi constante geométrica
// Mais exemplos
const pontoEbulição = 100 // temperatura em oC, ponto de ebulução da água que é uma constante
const temperaturaCorpo = 37 // oC média da temperatura corporal humana, que é uma constante
const pontoEbulicao = 100 // temperatura em oC, ponto de ebulução da água que é uma constante
const temperaturaCorpo = 37 // oC média da temperatura corporal humana, que é uma constante
console.log(string.endsWith('in the world')) // true
let país = 'Finland'
let pais = 'Finland'
console.log(país.endsWith('land')) // true
console.log(país.endsWith('fin')) // false
@ -795,10 +795,10 @@ Para verificar o tipo de uma variável nós usamos o método _typeOf_.
let primeiroNome = 'Asabeneh' // string
let ultimoNome = 'Yetayeh' // string
let país = 'Finland' // string
let pais = 'Finland' // string
let cidade = 'Helsinki' // string
let idade = 250 // número, não é minha idade real, não se preocupe com isso
let profissão // undefined, porque o valor não foi definido.
let profissao // undefined, porque o valor não foi definido.
console.log(typeof 'Asabeneh') // string
console.log(typeof primeiroNome) // string
@ -807,7 +807,7 @@ console.log(typeof 3.14) // number
console.log(typeof true) // boolean
console.log(typeof false) // boolean
console.log(typeof NaN) // number
console.log(typeof profissão) // undefined
console.log(typeof profissao) // undefined
console.log(typeof undefined) // undefined
console.log(typeof null) // object
```
@ -962,7 +962,7 @@ console.log(numInt) // 9
3. Limpar o seguinte texto e encontrar a palavra mais repetida (dica, use replace e expressões regulares)
```js
const sentence = " %I $am@% a %tea@cher%, &and& I lo%#ve %te@a@ching%;. The@re $is no@th@ing; &as& mo@re rewarding as educa@ting &and&@emp%o@weri@ng peo@ple. ;I found tea@ching m%o@re interesting tha@n any ot#her %jo@bs. %Do@es thi%s mo@tiv#ate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is al@so $the $resu@lt of &love& of tea&ching "
const frase = " %I $am@% a %tea@cher%, &and& I lo%#ve %te@a@ching%;. The@re $is no@th@ing; &as& mo@re rewarding as educa@ting &and&@emp%o@weri@ng peo@ple. ;I found tea@ching m%o@re interesting tha@n any ot#her %jo@bs. %Do@es thi%s mo@tiv#ate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is al@so $the $resu@lt of &love& of tea&ching "
```
4. Calcular o total anual de uma pessoa extraindo os números do seguinte texto. __"Ele recebe 5000 euros de salário por mês, 10000 euros de bônus anual, 15000 euros de cursos onlines por mês.'__.