Giter VIP home page Giter VIP logo

curso-de-js-roger-melo's People

Contributors

roger-melo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

curso-de-js-roger-melo's Issues

Exercício 22 da aula 2

No exercício 21 foi pedido

A let "newName" deverá armazenar uma string ES5 com o mesmo valor que "name" armazena;

E no exercício 22

Atribua à "newName" uma template string
A template string deverá resultar no mesmo valor que a "newName" tinha anteriormente (nome e sobrenome com letras iniciais maiúsculas);

Seria para adicionar uma template string e depois adicionar uma novo valor ?

Resultado do exercício Quiz interativo

Nunca utilizei esse recurso de Issues, espero que seja isso mesmo! rsrs segue abaixo o resultado do exercício sobre o Quiz.

https://github.com/MarcosCantarutti/resultado-exercicio-quiz-interativo-

acredito que tive mais dificuldade em manipular os elementos html/css da página. Como pode ver ficou bem esquisito rsrs.

sobre a parte do JS, entendi bem onde buscar os elementos no form que precisávamos para fazer a comparação com nosso array de respostas corretas. E não sei se inseri a resposta na tela de forma esperada.

obs: estou curtindo bastante o conteúdo até aqui, vejo que tenho uma montanha enorme pra escalar e só tenho por volta de 1hr/2hr por dia pra estudar por conta do meu atual trabalho. Mas acredito que um dia vai melhorar =). Obrigado por tudo!

exercício 2 (resultado igual com código diferente)

Bom dia professor!

Separei alguns exercícios que meu resultado esta correto, mas a forma que escrevi o código esta um pouco diferente!
Gostaria de saber de se tem alguma coisa "errada" de como escrevi.
Obrigado!

exercício 5 - const programmingLanguage = 'JavaScript'
const js = programmingLanguage
console.log(programmingLanguage[0],programmingLanguage[4])

exercício 6 - const mozilla = 'Mozilla Developer Network'
const mdn = console.log(mozilla[0],mozilla[8],mozilla[18])

no exercicio 20 eu usei backticks e funcionou

Quiz Interativo (Primeira Versão)

Realizei uma versão com um quiz brasileiro, com uma quantidade diferente de respostas para cada pergunta. De início não tive muita dificuldade para implementar um quiz igual o mostrado em aula, porém tentei fazer o quiz marcar as respostas corretas (caso o usuário acertar marcava com bg-success) e as erradas (caso errar marcava a resposta dele com bg-danger) só que foi um fracasso pois não consegui fazer a marcação das respostas do usuário para assim poder usar o classList.add() =/

No geral, fiquei alegre com o resultado e principalmente com a evolução que tive em tão pouco tempo!!! Estou adorando o curso e gostaria de saber se o professor teria alguma dica de livro ou site para eu ler sobre design pattern do javascript =)

Obrigado desde já por todo esse aprendizado!!!

link do repositório: https://github.com/BrunoDElias/QuizInterativo

Duvida Aula 02-03 | Funções Vs Método

Bom dia Roger!
Acompanhando a aula percebi uma leva diferença, poderia me explicar mais sobre ?
Pois fazendo isso o valor não é mostrado no console do navegador igual na aula.

image

QuizInterativo

Bom dia/tarde/noite,
segue o link da minha versão do quiz: https://github.com/TaynaraCM/ProjetoQuizCRM.git
Durante o processo tive a mesma dificuldade do colega Bruno, queria retornar as respostas certas em verde e as erradas em vermelho, porém não sabia como referenciar cada uma dentro do forEach.
Outra dúvida que surgiu: A primeira resposta de cada pergunta já vem marcada por padrão ao carregar a página. É possível alterar esta configuração, algum tipo de 'preventDefault()' só que para o input radio? Supondo que o jogador esquecesse de marcar alguma questão, ao invés de uma resposta que ele não marcou ser computada, o quiz poderia retornar algum feedback o avisando de que a resposta não foi dada.
Att.

Number vs ParseInt

Na aula 04 foi apresentado a função number, existe alguma diferença entra a conversão com parseInt ?

Etapa 03 - Correção dos exercícios da aula 01 - Aula 02-01

Olá Roger,

em relação a este exercicio onde vc coloca arr = [], poderia ser qualquer outro metodo como 'a', 'b' e etc. ou em temos que especificar o tipo de metodo?

const millennialWords = [
'lol', 'yolo', 'troll', 'stalkear', 'selfie', 'influencer', 'crush', 'fitness', 'hater', 'bae', 'random', 'kawaii', 'outfit', 'mood', 'fail'
]

const def = function(arr = []) {
let newArr = []

for (let x = 0; x < arr.length; x++) {
let wordUpper = arr[x].toUpperCase()

newArr.push(wordUpper)

}

return newArr
}
log(def(millennialWords))

Etapa 4, Exercícos - Aula 03

Roger, tudo bem?

Não tenho dúvidas, mas tenho um pouco de dificuldade em pensar na lógica para resolver o exercício. Quando você resolve eu vejo que na verdade é super simples. Esta semana eu pretendo refazer alguns exercícios de funções, pois ainda não entrou muito na minha cabeça quando devo alterar ou utilizar os "()" (vazios) no final da função, saber iterar e etc... Acho que mudando um pouco o enunciado já me ajuda, pois vejo que se trata de falta de prática. Tem alguma sugestão pra melhorar isso?

Obrigado.

@Roger-Melo

Exercicio_16

Bom dia @Roger-Melo !

Tive uma duvida na forma como vc fez a primeira questão do exercício 16. Você optou por add o event.stopPropagation() acima do console.log(), isso na pratica teria alguma diferença, ou nesse caso a ordem não tem tanta importância?

elementsInsideDiv.forEach(element => {
element.addEventListener('click', event => {
console.log('Clicou no filho da div.')
event.stopPropagation()
})
})

Checkpoint - Quiz

  • Link da minha versão: https://github.com/apdsrocha/quiz-exercise
  • Maiores dúvidas ou dificuldades: refatorar é sempre minha maior dificuldade =/
  • Menores dificuldades: estou achando tranquilo chegar no raciocínio para construir as soluções. As explicações e os exercícios estão bem didáticos.

Quiz interativo (resultado)

Fiz uma versão com quiz com perguntas aleatórias, cada uma com 4 opções de resposta.

Quando li o exercicío achei que a parte mais fácil seria mostrar o resultado, mas me enganei, essa foi justamente a parte que tive maior dificuldade. Também fiquei confusa com o forEach por conta dos parâmetros passados

Mas no geral fiquei bem feliz de ter conseguido e ver meu progresso.
Obrigada :)

Link do resultado: https://github.com/Dani-jardim/curso-de-js-roger-melo/tree/master/exercicio-19

Etapa 03 - Correção dos exercícios da aula 01 - Aula 02-01

Roger fiquei na duvida para fazer essa questão.
Ela retorna um função inteira.
Nessas horas eu nunca vi algo parecido travo, aí vou pesquisar
no google e mdn, aí fico tentando o máximo possível até sair fumaça da cabeça rs.
quando vejo que não jeito vou para a correção.

Quero muito ser fluente js, mais estou vendo que não é do dia para noite que
que vou ficar fluente, preciso ter base, praticar e ter teoria.

Parece que não entra na cabeça, se vc não ficar ali em cima direto.

/*
07

  • Forme uma frase com o array abaixo e exiba-a no console.
    */
  function () { return 'Plymouth' },
  function () { return 'é' },
  function () { return 'uma' },
  function () { return 'cidade' },
  function () { return 'fantasma' },
  function () { return 'localizada' },
  function () { return 'na' },
  function () { return 'ilha' },
  function () { return 'de' },
  function () { return 'Montserrat,' },
  function () { return 'um' },
  function () { return 'território' },
  function () { return 'ultramarino' },
  function () { return 'do' },
  function () { return 'Reino' },
  function () { return 'Unido' },
  function () { return 'localizado' },
  function () { return 'na' },
  function () { return 'cadeia' },
  function () { return 'de' },
  function () { return 'Ilhas' },
  function () { return 'de' },
  function () { return 'Sotavento' },
  function () { return 'nas' },
  function () { return 'Pequenas' },
  function () { return 'Antilhas,' },
  function () { return 'Índias' },
  function () { return 'Ocidentais.' }
]

let frase = []

for(let i = 0; i < functions.length; i++){
  frase.push(functions[i])
}

console.log(`${frase}`) 

```




@Roger-Melo

Utilização do response fora do callback e async await

Roger,

Sou aluno do curso de JS. Como posso utilizar os dados de uma response do axios fora do callback? (sei que isso ainda não foi visto no curso, mas vi esse conteudo nesse video seu https://www.youtube.com/watch?v=U_eGa7LEsDk)

Eu tenho uma função que pega dados via uma requisição http. Quero que essa função retorne os dados para uma variável e em seguida fazer um loop nessa variável como no codigo do link abaixo:

https://codepen.io/alphabraga-1477080019/pen/jOPWPbp

Challenge 16.

Bom dia, notei que o desafio 16 já vem com uma resposta, no caso a primeira questão, é intencional?

02 - Controle de fluxo, Correção dos exercícios da aula 03 da etapa 02 - Aula 01-01

Roger,
Levei uma surra nesse exercício, travei tela azul.
Eu fui olhar a resolução, via uma parte sendo feita e fazia sem olhar, e fui assim
até o final do exercício.
Esse modo que eu fiz tbm serve como aprendizado?

Por que logo nesse item >> "Itere sobre o array "randomValues" apenas até a 4ª string dele;"
Já travei!

Cheguei a criar o loop, verificar a string.
Acho que o medo de fazer um código zoado, esta me bloqueando
Vi você fazendo e não imaginei que poderia usar vários ifs dentro do loop.

O que eu estou no curso são códigos muitos tops, e bem explicados.
Mais pra eu montar igual a você, nesse alto nível de lógica esta sendo um pouco
difícil pra mim.

Estou fazendo do curso uma missão pra mim, mesmo com uma vida turbulenta que vivemos.
Se eu focasse só no curso o dia todo, pó eu acho que evoluiria bem mais rápido.

/*
05

  • Itere sobre o array "randomValues" apenas até a 4ª string dele;
  • Exiba a string abaixo no console, mantendo a formatação de lista e inserindo
    as informações corretas:

"
3 informações sobre o array randomValues:
- As primeiras 4 strings são XX, XX, XX e XX;
- Até que as primeiras 4 strings fossem iteradas, XX booleans foram iterados;
- O array foi iterado por XX vezes.
"
*/


let stringsAmount = 0
let stringsItens = []
let booleansItens = 0
let totalInterations = 0

for(let i = 0; i < randomValues.length; i++){
    const item = randomValues[i]
    const typeofItem = typeof item
    const isItemAString = typeofItem === 'string'
    const isItemABoolean = typeofItem === 'boolean'

    if(stringsAmount === 4){
      break
    }

    if(isItemAString){
      stringsAmount++
      stringsItens.push(item)
    }

    if(isItemABoolean){
       booleansItens++
    }

    totalInterations++
}

const lasItem = stringsItens[stringsItens.length - 1]
const itemString = stringsItens.join(', ').replace(`, ${lasItem}`, ` e ${lasItem}`)

console.log(`3 informações sobre o array randomValues:
  - As primeiras 4 strings são ${itemString};
  - Até que as primeiras 4 strings fossem iteradas, ${booleansItens} booleans foram iterados;
  - O array foi iterado por ${totalInterations} vezes.`) ```


<!-- Não apague daqui para baixo! -->
@Roger-Melo

Quiz Super Heroes Marvel

Quais foram as suas maiores dúvidas ou dificuldades durante a execução desse exercício;
-> Refatorar o código
-> Demorei bastante para compreender que input radio não tem evento checked kkkkk
-> Acredito que ficaria melhor se tivesse feito usando um checkbox

Link:
https://github.com/tuxpedro/quiz-super-heroes

Gostei do exercício nesse formato ;-)

Vlw um abraço.

Dúvida na refatoração do exercício-17

Olá, Roger

Minha dúvida é a seguinte: Como a função clearInput conseguiu ter acesso à referência do input, se pegamos a referência a este input dentro da função handleSubmit?

A seguir o trecho de código a que me refiro:

const clearInput = () => {
  input.value = ''
  input.focus()
}

const logMessage = message => {
  console.log(message)
  clearInput()
}

const handleSubmit = event => {
  event.preventDefault()
  
  const input = event.target.input
  const regex = /[a-zA-Z0-9]{7,11}/
  const isAValidValue = regex.test(input.value)
  
  if (isAValidValue) {
    logMessage('O valor inserido no input é válido =)')
    return
  }
  logMessage('Valor inválido =(')
}

form.addEventListener('submit', handleSubmit)

DOM

Oi professor, estou com uma dúvida. Lendo a documentação do NodeList e do HTMLCollection percebi que a diferença dos dois é que um é estático e o outro é "vivo". Bom, sempre que criarmos um NodeList ele será estático então. Mas ai entra minha dúvida, ele não reconhecerá os novos elementos que eu puser no DOM caso este elemento novo tenha o mesmo nome de classe que o elemento que gerou o NodeList por meio do querySelectorAll ?

O método forEach e callbacks - aula 02-04

Professor Roger, a partir do segundo 0:44 da aula é dito que trata-se de uma Arrow Function que tem um so parametro, entao pode ser eliminado os parentesis. Eliminado o parentesis e escrito o termo "callback" e dito que assim vai ser denominado o parametro.

Fiquei confuso porque "parametro e nome de função se fundem", meu entendimento é que ela deixou de ser anônima para ser posteriormente invocada: o termo callback esta denominando a função que antes não tinha nome. Essa invocação ocorre na linha 5:
'callback(value)

Acho que entendi: a função é o parametro passado, mas vou precisar de mais tempo pra compreender melhor, imagino, rs.

Api Weather - Access-Control-Allow-Origin

Olá professor estou tendo problema com o Access-'Control-Allow-Origin' na execução do Projeto Weather.
Dei uma pesquisada sobre e tem algumas soluções com express.
Pode me ajudar com outras soluções?

sobre metodos de STRINGS e ARRAYS.

Olá Roger, estou fazendo seu curso, estou na aula sobre 'STRINGS', já estudei um pouco sobre js antes de me inscrever no seu curso. Eis que me surge uma duvida, os metodos que sao usados em 'STRINGS' são usados também em 'ARRAYS', ou para cada um existem seus metodos especificos? Pois usamos os metodos 'concat, indexOf, slice' tanto para strings quanto para arrays. Sabe me dizer se existe diferença entre eles na hora de usamos em arrays e strings?

Dúvida na correção do quiz

Boa tarde, @Roger-Melo .

Uma coisa que notei aqui, é que ao clicar a primeira vez no botão "Enviar" com as respostas selecionadas (somente algumas corretas), ele calcula e mostra o resultado lá em cima. Beleza.

Só que se você muda suas respostas e seleciona mais uma alternativa correta, o que faz aumentar seu score, ao clicar em "Enviar", ele mostra um score diferente do que deveria mostrar.

Por ex:

  • Você só pontua em uma questão na primeira vez. Ao clicar no "Enviar", o Score é 25.
  • Você agora acerta outra questão e clica em "Enviar" novamente. O score deveria ser 50, mas aqui ficou dando 75. É como se ele pegasse o Score anterior, que era 25, e somado a essas respostas novamente. 25 + 50. Seria porquê, ao clicar no "Enviar", você não está zerando o Score, ñ é?

Eu coloquei um score = 0 dentro do "submit" do form e resolveu esse bug. É isso mesmo?

Erro durante a refatoração

Roger meu código está funcionando certinho como proposto no exercício, analisando a sua refatoração do código na exata hora que pego os parâmetros do inserParagraphIntoDOM e jogo para dentro de um objeto tenho este erro retornado, porém quando não utilizo estes objetos como forma de refatorar o código ele funciona certinho quando invoco a função insertParagraphIntoDOM e passo os argumentos correspondentes a ela
ALO

const inputUsername = document.querySelector('#username')
const form = document.querySelector('form')
const button = document.querySelector('.button')

const paragraphValueInput = document.createElement('p')
const paragraphSubmitForm = document.createElement('p')

paragraphSubmitForm.setAttribute('data-feedback', 'submit-feedback')

const testUsername = string => /[a-zA-Z]{6,}/.test(string)

const insertParagraphIntoDOM = (previousSibling, paragraph, text, className) => {
  previousSibling.insertAdjacentElement('afterend', paragraph)
  paragraph.textContent = text
  paragraph.setAttribute('class', className)
}

inputUsername.addEventListener('input', event => {
  const inputValue = event.target.value 
  const checkInputCharacter = testUsername(inputValue)  

  const paragraphSubmitFormExists = document.querySelector('[data-feedback = submit-feedback]') 
  
  if (paragraphSubmitFormExists) {
    paragraphSubmitForm.remove()
  }

  if (!checkInputCharacter) {
    insertParagraphIntoDOM(inputUsername, paragraphValueInput, 'O valor deve conter no mínimo 6 caracteres, com apenas letras maiúsculas e/ou minúsculas', 'username-help-feedback')
    return 
  }  

  insertParagraphIntoDOM(inputUsername, paragraphValueInput, 'Username válido =)', 'username-success-feedback')   
})

form.addEventListener('submit', event => {
  event.preventDefault()
  
  const inputValue = inputUsername.value
  const checkInputValue = testUsername(inputValue)

//  \o/... Roger, é com a implementação deste objeto que a aplicação começa a retornar o erro acima, se eu retirar este objeto e refatorar somente invocando a função insertParagraphIntoDOM e passando os argumentos adequados como fiz nos demais, o código funciona perfeitamente!

  const validSubmitInfo = {
    previousSibling: button, 
    paragraph: paragraphSubmitForm, 
    text: 'Dados enviados =)', 
    className: 'submit-success-feedback'
  }
  

  if (checkInputValue) {
    insertParagraphIntoDOM(validSubmitInfo)
    return   
  }

  insertParagraphIntoDOM(button, paragraphSubmitForm, 'Por favor, insira um username válido', 'submit-help-feedback')
})

Duvida sobre async\await

Ola Roger, tudo bem?

Quando escrevo o seguinte código utilizado "async/await" um erro é lançado no console dizendo que ".json()" não é uma função

const getUsers = async () => {
    const response = fetch('https://jsonplaceholder.typicode.com/users')
    const users = await response.json()
    console.log(users)
}

getUsers()
Uncaught (in promise) TypeError: response.json is not a function
        at getUsers (App.js:3)
        at App.js:7
        getUsers @ App.js:3
        (anonymous) @ App.js:7

Quando utilizado o "await" duas vezes no momento de armazenar a resposta em uma const as promises são resolvidas, observe o seguinte código:

const getUsers = async () => {
    const response = fetch('https://jsonplaceholder.typicode.com/users')
    const users = await (await response).json()
    console.log(users)
}

getUsers()
(10) [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]

Fiz uma breve pesquisa mas não encontrei nenhum exemplo de código semelhante.

Agradeço pela atenção.

Um abraço.

Etapa 06, Eventos de formulário - Aula 01-02

Oi Roger, minha dúvida em relação a essa aula é em como o input é disponível dentro do form usando a notação de objeto.
Na aula foi acessado o input pelo seu name e pelo seu Id:

form.username.value

A outra forma que você disse que seria útil mais pra frente dentro do React também me gerou dúvidas

event.target.username.value

Em resumo a minha dúvida é entender como que o id e o name se tornaram objetos acessíveis dentro do form. e dentro do target. Muito obrigado pela paciência.

@Roger-Melo

Destructuring Assignment

Oi Roger, a minha dúvida é em relação a essa expressão. Após a correção dos exercícios dessa aula eu abri o mdn pra poder entender melhor sobre ela. Entendi que é uma expressão que usamos pra poder desempacotar valores de arrays e propriedades de objetos. O ponto que me gerou a dúvida é o seguinte: Temos sempre que declarar as variáveis do lado esquerdo da atribuição com o mesmo nome das propriedades do objeto a ser desestruturado?

Dúvida sobre Array (Exercício #22 da aula 02 - 03-01 e exercício #9 da aula 03 04-01)

No exercício #22 você conseguiu acessar apenas uma letra do elemento do array sem usar o segundo colchetes, tendo que usá-lo no exercício #9 da aula 03. Como deu certo?
PS.: Não lembro de você comentar sobre isso nas aulas anteriores (só por slice() mesmo) e não consegui achar na documentação exemplos do mesmo. Será 'slice()' o jeito mais comum de solucionar esse problema? O que você recomenda Roger?

Comparação estrita e abstrata

Roger, lendo um pouco sobre a documentação de igualdade estrita e igualde abstrata me deparei com este caso
1 != true // false
0 != false // false
Citando este dois exemplos, o comportamento do JavaScript com apenas estes dois números é bem peculiar, por que deste comportamento Roger ? E neste caso, o boolean que é convertido em algum tipo number ou o operando numérico que é convertido em boolean ?
Obrigado desde já!

Rolagem do exercício Quiz

Opa, boa noite professor! O curso esta sendo ótimo pois estou realmente aprendendo mais a fundo com tudo funciona.
Sobre o Exercício do Quiz na propriedade

scrollTo({
top: 0,
left: 0,
behavior: 'smooth'
})

No firefox ele faz a rolagem smooth mas, no IE10 e no Chrome não rolou...
tem outros códigos que fazem da certo mais gostaria de saber nesse caso mais simples do quiz.

Abraço.

Aula 2 - Ex

Oi Roger,

no oitavo exercício, eu solucionei de maneira diferente, gostaria de saber se posso utilizar dessa forma tbm, ou se impacta
em algo negativo.

Tbm percebi que em alguns exercícios eu chegava no resultado, mas de maneira diferente.

Exemplo:

let randomWord = 'Araponga'
let lastCharacter = randomWord.slice(randomWord.length-1);

console.log(lastCharacter);

Obrigado.

Duvida do exercício 20

Olá @Roger-Melo! Tudo bom?

Não consigo compreender a diferença entre os seguintes trechos de código

const timer = setInterval(() => { if (stopCounter) { clearInterval(timer) counter = 0 modifiesValueCounter(counter) return } counter++ modifiesValueCounter(counter) }, 1000);

Acima a const timer recebe a função setInterval() e dentro da função eu chamo timer compreendo que timer guarda o id gerado pela função e acredito que nesse trecho temos um conceito de recursividade.

Os mesmo conceitos do código acima se aplica ao código abaixo?

const returnNumber = valor => valor * 3; const number = (number => { console.log(number) }); number(returnNumber(9));

Etapa 3, Exercícios- Aula 03

Roger, estou vendo as aulas e lendo a documentação da MDN, que é como você pediu
no CJRM.

Mais percebi que no primeiro modulo você explica sobre string, e logo abaixo do vídeo
tem o link sobre string para a documentação do JavaScript na MDN.

Mais na etapa 2 em diante, já não tem mais os links da MDN, é para agente procurar ou você poderia colocar?
Isso ia me ajudar nos estudos. Por exemplo eu trabalho com jquery sempre olho a documentação lá quanto tenho tempo,
mais vou no mais rápido google e stackOverflow, aí peguei um vício de copiar código pronto.

Na aula de array fui procurar sobre array no MDN e li do começo ao fim antes de iniciar o exercício 03, e me ajudou bastante a compreender mais.

Por exemplo o link: https://developer.mozilla.org/pt-BR/docs/Learn/JavaScript/First_steps/Arrays

Acho que mais uma sugestão que dúvida :)

@Roger-Melo

Caracteres especiais estão errados no VS Code

Boa tarde, estou iniciando o curso hoje e ao clonar o diretório do git pra minha máquina e abrir no vs code, os caracteres especiais vieram com a codificação errada, como posso resolver isso?

Exemplo:
/*
01 - Neste diretório (exercicio-01), há um index.html vazio.

Faça o seguinte:

  • Declare uma marcação HTML básica nele;
  • Modifique a linguagem para português do Brasil;
  • Remova as meta tags desnecessárias;
  • Modifique o title para "Exercício 01";
  • E linke este arquivo, app.js, antes do fechamento da tag body.
    */

Etapa 2, Controle de fluxo - Exercício-06 (Questão 3)

Bom dia Roger, eu resolvi a lógica dessa maneira

03

  • Armazene sua idade em uma constante;
  • Escreva uma estrutura condicional em que, se a idade é 7 anos ou menos, ou se a idade é 65 anos ou mais, a frase "Para você, a entrada é grátis!" é armazenada em uma variável;
  • Se a idade não atende às condições acima, a variável deve armazenar a mensagem "A entrada é R$ 30,00.";
  • Exiba a mensagem no console;
  • Agora, teste diferentes idades para se certificar que a condição do if também está funcionando.
const age = 26

if (age <= 7 || age >= 65) {
  console.log('Para você, a entrada é grátis!')
} else {
  console.log('A entrada é R$ 30,00.')
}

Mas vi que na correção teve algumas coisas diferentes

const age = 26
let priceMessage = null

if (age <= 7 || age >= 65) {
  priceMessage = 'Para você, a entrada é grátis!'
} else {
  priceMessage = 'A entrada é R$ 30,00.'
}

console.log(priceMessage)

Como a criação da

let priceMessage = null

O resultado é o mesmo mais queria saber qual a diferença entre elas e sorry se a pergunta soa um pouco beginner hehe

OBS: Não sei se eu coloquei o nome certo. "Etapa" você se refere ao módulos do curso ?

@Roger-Melo

parseInt e parseFloat

Olá roger,
tenho outra duvida em relação a 'parseInt' e 'parseFloat', na sua aula sobre conversao de tipos, nao vi esses dois metodos para converter strings em numeros inteiros ou flutuantes, esses metodos estão obsoletos ou existe outro metodos para fazer isso?

Etapa 4, Tipos de refêrencia vs Tipos primitivos - Aula 03-04

Depois de absorver o conteúdo da aula, eu tentei praticar procurando exercícios na internet e encontrei esse exemplo, depois de vários minutos tentando entender a saída dele eu cheguei a conclusão:

var x = 0;

function foo() {
    var x = 10;
    return function() {
        return x;
    }
}
var bar = foo();

function baz() {
    var x = 20;
    return bar();
}

Pelo que entendi bar sempre vai referenciar apontando para a função definida dentro de foo() e não criando uma cópia da função retornada, por isso, independente de onde bar() for invocada seu valor sempre vai ser 10. Se minha conclusão estiver errada por favor me corrija.

@Roger-Melo

Recriando método some

Oi Roger, consegui idealizar o método some como proposta no exercício e gostaria do seu feedback sobre a lógica que empreguei, se ela está correta ou não, pois tive uma lógica um pouco diferente da sua quando corrigido o exercício.

Explicando minha lógica: Bom Roger, eu estava fazendo de um modo que o laço percorria todos os itens do array e para cada item retornava um boolean, ai surgiu minha ideia. "Que tal eu armazenar todos esses booleans gerados neste laço e joga-los dentro de um novo array e quando todos booleans forem gerados eu verifico se nesse array está incluso um true. Legal se houver será retornado um true por causa do método incluse, se não um false kkk" 💭

Oque você acha professor, está correto este meu raciocinio ? Abraço

const some = (array, test) => {
  const arrayBooleans = []  

  for (let i = 0; i < array.length; i++) {    
    const checkingArray = test(array[i])
    
    arrayBooleans.push(checkingArray)
  }
  const check = arrayBooleans.includes(true)

  console.log(check)
}
some([1, 2, 3], item => item > 2) // true
some([1, 3, 5], item => item === 0) // false

Etapa 07, Aplicação: Quiz Interativo - Exercício-01

Oi, roger nesse exercício vc pediu pra implementar tudo que foi aprendido pra desenvolver um quiz interativo e subir ele no git e deixar o link do repositório na issue. Aqui está o meu:

https://github.com/brenoSSilva/quiz_interativo

- Quais foram as suas maiores dúvidas ou dificuldades durante a execução desse exercício;
R: Ter paciência com o Boostrap

- Quais foram as suas menores dificuldades durante a execução desse exercício.
R: Tirando o Boostrap toda implementação foi tranquila, sem dificuldades.

@Roger-Melo

Exercício 20 - Erro no contador

Oi Roger,
Estou com problemas.

Tenho três botões:

  • Iniciar contador;
  • Parar contador;
  • Zerar contador

Eles estão funcionando, mas, se eu clicar mais de uma vez no "Iniciar contador" a numeração começa a ir mais rápido e o botão "Parar contador" para de funcionar.

Quero saber se existe uma forma que o botão de início não pudesse ser clicado mais de uma vez.

link exercício : https://github.com/Dani-jardim/curso-de-js-roger-melo/blob/master/exercicio-20/app.js

video com erro: https://drive.google.com/file/d/1A4Hbp3AssiGMAJQw7h360aJVDI4biNHh/view?usp=sharing

Obrigada :)

Exercícios - Aula 01-04 - Game Master Quiz

  • O do quiz: https://github.com/alphabraga/moviemaster

  • Quais foram as suas maiores dúvidas ou dificuldades durante a execução desse exercício:

  • Ainda sinto dificuldade no sync/await

  • Listar as respostas de forma randominca

  • Eu tentei adicionar classe css quando o li da resposta fosse clicado e tambem deixar selecionado o input radio mas não consegui

  • Refatorar o código

  • Quais foram as suas menores dificuldades durante a execução desse exercício.

debug
manipular o dom

toLocaleUpperCase x toUpperCase - toLocaleLowerCase x ToLowerCase

Olá Roger,
tenho uma duvida em relação ao 'toUpperCase' x 'ToLocaleUpperCase' e 'toLocaleLowerCase' x 'ToLowerCase', pois 'toUpperCase' e 'ToLowerCase' são métodos que transforma letras em maiúsculas e minusculas, já os outros 2 também fazem o mesmo, vc pode me dizer qual e a diferença entre ambos, pois uso o VSCode e quando uso esses metodos, ele sempre me dar ToLocaleUpperCase e ToLocaleLowerCase como primeira opção de uso.

Etapa 7, Exercícios da aula 01 - Quiz interativo

  • O link da sua versão do quiz: https://github.com/sou-gabriel/quiz-interativo;

  • Quais foram as suas maiores dúvidas ou dificuldades durante a execução desse exercício:

    • Escolha de nomes para variáveis/constantes;
    • Lidar com as diversas gamas de componentes que o Bootstrap fornece (foi meu primeiro contato com o framework), porém nada que me atrapalhasse;
  • Quais foram as suas menores dificuldades durante a execução desse exercício:

    • Implementação do código JavaScript e a lógica por detrás da aplicação;
    • Refatoração.

Quiz interativo - CJRM.

https://github.com/lucas-giraldelli/quiz-interativo-cjrm

Mudei a temática para jogos (e a paleta de cores), mantive a quantidade de perguntas e lógica que foi aplicada na aula anterior.

  • Quais foram as suas maiores dúvidas ou dificuldades durante a execução desse exercício;
    A minha maior dificuldade é realmente em relação ao bootstrap apenas, tive que consultar a documentação para alterar algumas coisas a meu gosto.
  • Quais foram as suas menores dificuldades durante a execução desse exercício.
    Quanto a recuperar elementos do DOM, conseguir entender que a referencia do form capturada com querySelector já traz os inputs (com name ou id) isso é tudo muito genial, inclusive para inserir o texto do placar final eu apenas utilizei um h2 vazio e capturei por referencia e inseri na mesma utilizando o textContent (lembro-me bem que a diferença dele pro innerText é a quantidade de texto capturada).

Etapa 02 - Controle de fluxo - exercicio-07

Roger, sobre a etapa 2 controle de fluxo.

Tenho uma dificuldade com loops, quando vou fazer revejo as aulas anteriores,
e leio na documentão do mdn, e as vezes procuro no google, "trocar text array loop posição js"

Faço essas buscas para vê como é feito não sei se é bom para quem esta aprendendo essa do google,
por q muitas das vezes já tem a lógica pronta.

Como você falou, não pode ficar preço em uma peça do quebra cabeça por muito, sendo que tem outras peças.

Por exemplo esse exercício abaixo, quando vejo já bate aquele frio e desespero e tristeza, coisa de iniciante né, ter medo
de algo novo em que você vai ser desafiado.
Sempre que olho um problema assim, vejo o que eu sei fazer fazer e vou fazendo por etapa.

Por exemplo:

  • fazer um loop
  • exibi o loop

Aí depois não se fazer, vou testando, e leio o mdn, procuro no google e tem coisa que resolver mais
não tem na aulas anteriores.
Não gosto de ir já para a solução sem tentar, e quebrar a cabeça, para tentar resolver.
E nesse hora penso vale a pena perguntar aqui, mesmo eu vendo o solução e entendendo?

/*
05

  • Itere sobre o array "randomValues" apenas até a 4ª string dele;
  • Exiba a string abaixo no console, mantendo a formatação de lista e inserindo
    as informações corretas:

"
3 informações sobre o array randomValues:
- As primeiras 4 strings são XX, XX, XX e XX;
- Até que as primeiras 4 strings fossem iteradas, XX booleans foram iterados;
- O array foi iterado por XX vezes.
"
*/

@Roger-Melo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.