Fundamentos de JavaScript
Área: Backend; Frontend | Nível recomendado: Iniciante
Reforçar e aplicar os fundamentos do JavaScript. Esta missão irá abordar conceitos essenciais de JavaScript que são a base para criar aplicações eficientes e escaláveis.
Vídeo
Link direto: https://youtu.be/p-Gcsl6hIQQ
Material de Apoio
Repositório no GitHub
PDF para Download
Miro
Tópicos
Revisão de Conceitos Básicos:
Variáveis e tipos de dados.
Estruturas de controle (loops, condicionais).
Funções e escopo.
JavaScript mais avançado:
Exploração de funções assíncronas e callbacks.
Tratamento de erros e exceções.
Uso de módulos e
require/importstatements.
ES6 e Além:
Introdução a arrow functions, promises, e
async/await.Desestruturação, spread operator e outros recursos do ES6+.
Exercícios de Fixação
Use esses exercícios para reforçar o que acabou de aprender. Se errar, leia a explicação para entender melhor o conceito.
Resposta Correta
Resposta Correta:
Feedback: A palavra-chave const é usada para declarar uma variável cujo valor não pode ser alterado.
Verdadeiro ou Falso: Em JavaScript, variáveis declaradas com `let` têm escopo de função.
A) Verdadeiro
B) Falso
Resposta Correta
Resposta Correta: B
Feedback: Falso. Variáveis declaradas com let têm escopo de bloco, o que significa que são limitadas ao bloco em que são definidas.
Resposta Correta
Resposta Correta:
Feedback: Os arrays em JavaScript são indexados a partir de zero, então o terceiro elemento está no índice 2.
Qual é a principal vantagem de utilizar `const` para declarar variáveis em JavaScript?
A) Variáveis declaradas com const não podem ser reatribuídas.
B) Variáveis declaradas com const têm melhor performance.
C) Variáveis declaradas com const são mais fáceis de depurar.
D) Variáveis declaradas com const têm escopo global.
Resposta Correta
Resposta Correta: A
Feedback: A principal vantagem de usar const é que variáveis declaradas com const não podem ser reatribuídas, o que ajuda a evitar erros.
Resposta Correta
Resposta Correta: B
Feedback: Em JavaScript, o operador + quando usado entre um número e uma string realiza a concatenação, resultando em '22'.
Resposta Correta
Resposta Correta: C
Feedback: Em JavaScript, null é considerado um objeto. Este é um comportamento legado e uma das peculiaridades da linguagem.
Qual é a diferença entre `==` e `===` em JavaScript?
A) Não há diferença, ambos comparam valores.
B) == compara valores, enquanto === compara valores e tipos.
C) == compara valores e tipos, enquanto === compara apenas valores.
D) == compara referências, enquanto === compara valores.
Resposta Correta
Resposta Correta: B
Feedback: O operador == compara valores após converter para um tipo comum, enquanto === compara tanto valores quanto tipos sem conversão.
Resposta Correta
Resposta Correta:
Feedback: A função soma deve retornar a soma dos dois parâmetros recebidos.
Resposta Correta
Resposta Correta: A
Feedback: Em JavaScript, 0 é considerado false em uma comparação com ==, resultando em true.
Resposta Correta
Resposta Correta: A
Feedback: Esta é uma peculiaridade do JavaScript, onde ambos os lados da comparação são convertidos para false, resultando em true.
Resposta Correta
Resposta Correta:
Feedback: A desestruturação permite extrair valores de objetos de forma concisa, facilitando o acesso às propriedades.
Qual é a saída do seguinte código: `console.log([...'abc'])`?
A) ['abc']
B) ['a', 'b', 'c']
C) ['a,b,c']
D) NaN
Resposta Correta
Resposta Correta: B
Feedback: O operador spread ... divide a string 'abc' em caracteres individuais, resultando em ['a', 'b', 'c'].
Exercícios de Validação
Esses exercícios testarão sua compreensão prática. Revise o feedback para melhorar suas habilidades.
Desafio de Código
Implemente uma função que receba um array de números e retorne a soma de todos os elementos usando um loop for.
Arquivo Inicial
Tarefas
Implementação do Loop:
Use um loop
forpara iterar sobre o array e calcular a soma dos elementos.
Código Esperado
Feedback Detalhado
Implementação do Loop: Certifique-se de usar um loop
forpara iterar sobre o array. Inicialize uma variávelsomacom zero e adicione cada elemento do array a esta variável durante a iteração.
Implemente uma função que receba uma string e retorne a contagem de cada caractere na string.
Arquivo Inicial
Tarefas
Contagem de Caracteres:
Use um objeto para manter a contagem de cada caractere na string.
Código Esperado
Feedback Detalhado
Contagem de Caracteres: Use um objeto para armazenar a contagem de cada caractere. Itere sobre a string e incremente a contagem para cada caractere encontrado.
Revisão de Código
Analise o código a seguir, encontre e corrija o erro relacionado ao uso de funções assíncronas e await.
Resposta Correta
Erros:
O
awaitdeve ser usado ao chamarfetch.
Código Corrigido:
Feedback: Certifique-se de usar await ao chamar funções assíncronas, como fetch, para garantir que a promessa seja resolvida antes de continuar.
Projeto Prático
Implemente um script JavaScript que utilize conceitos de variáveis, funções e objetos. O script deve:
Criar um objeto representando uma pessoa, com propriedades "nome", "idade" e "hobbies".
Adicionar um método ao objeto para adicionar novos hobbies.
Implementar uma função que imprima uma saudação personalizada utilizando as propriedades do objeto.
Implementar uma função que receba um array de pessoas e retorne a média de idades.
Arquivo Inicial
Tarefas
Criação do Objeto:
Crie um objeto
pessoacom as propriedades e método conforme descrito.
Implementação das Funções:
Implemente a função
saudacaopara imprimir uma mensagem personalizada.Implemente a função
calcularMediaIdadepara retornar a média de idades das pessoas no array.
Código Esperado
Feedback Detalhado
Criação do Objeto: Adicione as propriedades "nome", "idade" e "hobbies" ao objeto
pessoae implemente o métodoadicionarHobby.Implementação das Funções: A função
saudacaodeve usarthispara acessar as propriedades do objeto e imprimir a mensagem correta. A funçãocalcularMediaIdadedeve usarreducepara somar as idades e retornar a média.
Last updated