diff --git a/Portuguese/Dia_02_Tipos_Dados/dia_02_tipos_dados.md b/Portuguese/Dia_02_Tipos_Dados/dia_02_tipos_dados.md index 1f03a399..10e7c546 100644 --- a/Portuguese/Dia_02_Tipos_Dados/dia_02_tipos_dados.md +++ b/Portuguese/Dia_02_Tipos_Dados/dia_02_tipos_dados.md @@ -1,5 +1,5 @@
-

30 Days Of JavaScript: Tipos de Dados

+

30 Dias De JavaScript: Tipos de Dados

@@ -24,14 +24,14 @@ - [Tipos de Dados Não Primitivos](#tipos-de-dados-não-primitivos) - [Números](#Números) - [Declarando Tipos de Dados Numéricos](#declarando-tipos-de-dados-numéricos) - - [Math Objeto](#math-objeto) + - [Objeto Math](#objeto-math) - [Gerador de Número Aleatório](#gerador-de-número-aleatório) - [Strings](#strings) - [String Concatenação](#string-concatenação) - [Concatenando Usando o Operador de Adição](#concatenando-usando-o-operador-de-adição) - [Escape Sequences em Strings](#escape-sequences-em-strings) - [Strings Literais (Template Strings)](#Strings-Literais-template-strings) - - [String Methods](#string-methods) + - [String Métodos](#string-métodos) - [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(idade, gravidade, massa, PI, pontoEbulição, temperaturaCorpo) +console.log(idade, gravidade, massa, PI, pontoEbulicao, temperaturaCorpo) ``` -### Math Object +### Objeto Math -Em JavaScript o Math Object promove muitos métodos para trabalhar com números. +Em JavaScript o objeto Math promove muitos métodos para trabalhar com números. ```js const PI = Math.PI -console.log(PI) // 3.141592653589793 +console.log(PI) // 3.141592653589793 // arredondando para o número mais próximo // se maior que 0.5 para cima, se menor que 0.5 para baixo. -console.log(Math.round(PI)) // 3 é o valor mais próximo +console.log(Math.round(PI)) // 3 é o valor mais próximo -console.log(Math.round(9.81)) // 10 +console.log(Math.round(9.81)) // 10 -console.log(Math.floor(PI)) // 3 arredondando para baixo +console.log(Math.floor(PI)) // 3 arredondando para baixo -console.log(Math.ceil(PI)) // 4 arredondando para cima +console.log(Math.ceil(PI)) // 4 arredondando para cima -console.log(Math.min(-5, 3, 20, 4, 5, 10)) // -5, retorna o valor mínimo +console.log(Math.min(-5, 3, 20, 4, 5, 10)) // -5, retorna o valor mínimo -console.log(Math.max(-5, 3, 20, 4, 5, 10)) // 20, retorna o valor máximo +console.log(Math.max(-5, 3, 20, 4, 5, 10)) // 20, retorna o valor máximo -const randNum = Math.random() // cria um número aleatório entre 0 ate 0.999999 -console.log(randNum) +const numAleatorio = Math.random() // cria um número aleatório entre 0 até 0.999999 +console.log(numAleatorio) -// Vamos criar um numero aleatório entre 0 ate 10 +// Vamos criar um número aleatório entre 0 até 10 -const num = Math.floor(Math.random () * 11) // cria um número aleatório entre 0 ate 10 +const num = Math.floor(Math.random () * 11) // cria um número aleatório entre 0 até 10 console.log(num) // Valor absoluto -console.log(Math.abs(-10)) // 10 +console.log(Math.abs(-10)) // 10 // Raiz quadrada -console.log(Math.sqrt(100)) // 10 +console.log(Math.sqrt(100)) // 10 -console.log(Math.sqrt(2)) // 1.4142135623730951 +console.log(Math.sqrt(2)) // 1.4142135623730951 // Potência -console.log(Math.pow(3, 2)) // 9 +console.log(Math.pow(3, 2)) // 9 -console.log(Math.E) // 2.718 +console.log(Math.E) // 2.718 // Logaritmo // Retorna o logaritmo natural com base E de x, Math.log(x) -console.log(Math.log(2)) // 0.6931471805599453 -console.log(Math.log(10)) // 2.302585092994046 +console.log(Math.log(2)) // 0.6931471805599453 +console.log(Math.log(10)) // 2.302585092994046 // Retorna o logaritmo natural de 2 e 10 repectivamente -console.log(Math.LN2) // 0.6931471805599453 -console.log(Math.LN10) // 2.302585092994046 +console.log(Math.LN2) // 0.6931471805599453 +console.log(Math.LN10) // 2.302585092994046 // Trigonometria Math.sin(0) @@ -246,19 +246,19 @@ Math.cos(60) O objeto Math do JavaScript tem o método random() que gera números de 0 ate 0.999999999... ```js -let randomNum = Math.random() // gera de 0 ate 0.999... +let numeroAleatorio = Math.random() // gera de 0 até 0.999... ``` Agora, vamos ver como nós podemos usar o método random() para gerar um número aleatório entre 0 e 10: ```js -let randomNum = Math.random() // gera de 0 ate 0.999 -let numBtnZeroAndTen = randomNum * 11 +let numeroAleatorio = Math.random() // gera de 0 até 0.999 +let numeroEntreZeroAteDez = numeroAleatorio * 11 -console.log(numBtnZeroAndTen) // este retorna: min 0 and max 10.99 +console.log(numeroEntreZeroAteDez) // retorna: min 0 and max 10.99 -let randomNumRoundToFloor = Math.floor(numBtnZeroAndTen) -console.log(randomNumRoundToFloor) // este retorna entre 0 e 10 +let numeroAleatorioParaInteiro = Math.floor(numeroEntreZeroAteDez) +console.log(numeroAleatorioParaInteiro) // retorna: entre 0 e 10 ``` ## Strings @@ -267,15 +267,15 @@ Strings são textos, que estão entre **_simples_**, **_duplas_**, **_crase_**. Vamos ver alguns exemplos de string: ```js -let espaço = ' ' // um valor de string vazia +let espaço = ' ' // um valor de string vazia let primeiroNone = 'Asabeneh' let ultimoNome = 'Yetayeh' let país = 'Finland' let cidade = 'Helsinki' let linguagem = 'JavaScript' -let profissão = 'teacher' -let citação = "The saying,'Seeing is Believing' is not correct in 2020." -let citaçãoUsandoCrase = `The saying,'Seeing is Believing' is not correct in 2020.` +let profissao = 'Professor' +let citacao = "The saying,'Seeing is Believing' is not correct in 2020." +let citacaoUsandoCrase = `The saying,'Seeing is Believing' is not correct in 2020.` ``` ### String Concatenação @@ -284,7 +284,7 @@ Conectando duas ou mais strings juntas é chamado de concatenação. Usando as strings declaradas na sessão anterior de strings: ```js -let nomeCompleto = primeiroNone + espaço + ultimoNome; // concatenação, combinar duas ou mais strings juntas. +let nomeCompleto = primeiroNone + espaco + ultimoNome; // concatenação, combinar duas ou mais strings juntas. console.log(nomeCompleto); ``` @@ -300,16 +300,16 @@ Concatenando usando o operador de adição é o modo antigo de fazer. Este tipo ```js // Declarando diferentes variáveis de diferentes tipos de dados -let espaço = ' ' +let espaco = ' ' let primeiroNome = 'Asabeneh' let ultimoNome = 'Yetayeh' -let país = 'Finland' +let pais = 'Finland' let cidade = 'Helsinki' let linguagem = 'JavaScript' -let profissão = 'teacher' +let profissao = 'teacher' let idade = 250 -let nomeCompleto = primeiroNome + espaço + ultimoNome +let nomeCompleto = primeiroNome + espaco + ultimoNome let pessoaUmInfo = nomeCompleto + '. I am ' + idade + '. I live in ' + país; // ES5 adição de string console.log(pessoaUmInfo) @@ -399,15 +399,15 @@ console.log(`The sum of ${a} and ${b} is ${a + b}`) // injetando dados dinamicam ```js let primeiroNome = 'Asabeneh' let ultimoNome = 'Yetayeh' -let país = 'Finland' +let pais = 'Finland' let cidade = 'Helsinki' let linguagem = 'JavaScript' -let profissão = 'teacher' +let profissao = 'teacher' let idade = 250 let nomeCompleto = primeiroNome + ' ' + ultimoNome -let pessoaInfoUm = `I am ${nomeCompleto}. I am ${idade}. I live in ${país}.` //ES6 - Método de interpolação de String -let pesoaInfoDois = `I am ${nomeCompleto}. I live in ${cidade}, ${país}. I am a ${profissão}. I teach ${linguagem}.` +let pessoaInfoUm = `I am ${nomeCompleto}. I am ${idade}. I live in ${pais}.` //ES6 - Método de interpolação de String +let pesoaInfoDois = `I am ${nomeCompleto}. I live in ${cidade}, ${pais}. I am a ${profissao}. I teach ${linguagem}.` console.log(pessoaInfoUm) console.log(pesoaInfoDois) ``` @@ -479,7 +479,7 @@ let primeiroNome = 'Asabeneh' console.log(primeiroNome.toUpperCase()) // ASABENEH -let país = 'Finland' +let pais = 'Finland' console.log(país.toUpperCase()) // FINLAND ``` @@ -506,7 +506,7 @@ console.log(pais.toLowerCase()) // finland let string = 'JavaScript' console.log(string.substr(4,6)) // Script -let país = 'Finland' +let pais = 'Finland' console.log(país.substr(3, 4)) // land ``` @@ -519,7 +519,7 @@ console.log(string.substring(0,4)) // Java console.log(string.substring(4,10)) // Script console.log(string.substring(4)) // Script -let país = 'Finland' +let pais = 'Finland' console.log(país.substring(0, 3)) // Fin console.log(país.substring(3, 7)) // land @@ -539,7 +539,7 @@ let primeiroNome = 'Asabeneh' console.log(primeiroNome.split()) // muda para um array - > ["Asabeneh"] console.log(primeiroNome.split('')) // separa em um array cada letra -> ["A", "s", "a", "b", "e", "n", "e", "h"] -let país = 'Finland, Sweden, Norway, Denmark, and Iceland' +let pais = 'Finland, Sweden, Norway, Denmark, and Iceland' console.log(país.split(',')) // separa para um array com vírgula -> ["Finland", " Sweden", " Norway", " Denmark", " and Iceland"] console.log(país.split(', ')) //  ["Finland", "Sweden", "Norway", "Denmark", "and Iceland"] @@ -578,7 +578,7 @@ console.log(string.includes('script')) // false console.log(string.includes('java')) // false console.log(string.includes('Java')) // true -let país = 'Finland' +let pais = 'Finland' console.log(país.includes('fin')) // false console.log(país.includes('Fin')) // true @@ -596,7 +596,7 @@ string.replace(antigaSubstring, novaSubstring) let string = '30 Days Of JavaScript' console.log(string.replace('JavaScript', 'Python')) // 30 Days Of Python -let país = 'Finland' +let pais = 'Finland' console.log(país.replace('Fin', 'Noman')) // Nomanland ``` 11. *charAt()*: Usando um index e retorna o valor no index selecionado; @@ -708,7 +708,7 @@ console.log(string.endsWith('world')) // true console.log(string.endsWith('love')) // false 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.'__.