Fundamentos de JavaScript

Área: Backend; Frontend | Nível recomendado: Iniciante

circle-info

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-Gcsl6hIQQarrow-up-right

Material de Apoio

Repositório no GitHub

PDF para Download

Miro

Tópicos

  1. Revisão de Conceitos Básicos:

    • Variáveis e tipos de dados.

    • Estruturas de controle (loops, condicionais).

    • Funções e escopo.

  2. 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/import statements.

  3. 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

circle-info

Use esses exercícios para reforçar o que acabou de aprender. Se errar, leia a explicação para entender melhor o conceito.

chevron-rightComplete o código para declarar uma variável constante.hashtag
chevron-rightResposta Corretahashtag

Resposta Correta:

Feedback: A palavra-chave const é usada para declarar uma variável cujo valor não pode ser alterado.


chevron-rightVerdadeiro ou Falso: Em JavaScript, variáveis declaradas com `let` têm escopo de função.hashtag

A) Verdadeiro

B) Falso

chevron-rightResposta Corretahashtag

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.


chevron-rightComplete o código para criar um array de números e acessar o terceiro elemento.hashtag
chevron-rightResposta Corretahashtag

Resposta Correta:

Feedback: Os arrays em JavaScript são indexados a partir de zero, então o terceiro elemento está no índice 2.


chevron-rightQual é a principal vantagem de utilizar `const` para declarar variáveis em JavaScript?hashtag

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.

chevron-rightResposta Corretahashtag

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.


chevron-rightQual é o resultado da seguinte operação: `2 + '2'`?hashtag

A) 4

B) '22'

C) '4'

D) NaN

chevron-rightResposta Corretahashtag

Resposta Correta: B

Feedback: Em JavaScript, o operador + quando usado entre um número e uma string realiza a concatenação, resultando em '22'.


chevron-rightQual é a saída do seguinte código: `console.log(typeof null)`?hashtag

A) null

B) undefined

C) object

D) string

chevron-rightResposta Corretahashtag

Resposta Correta: C

Feedback: Em JavaScript, null é considerado um objeto. Este é um comportamento legado e uma das peculiaridades da linguagem.


chevron-rightQual é a diferença entre `==` e `===` em JavaScript?hashtag

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.

chevron-rightResposta Corretahashtag

Resposta Correta: B

Feedback: O operador == compara valores após converter para um tipo comum, enquanto === compara tanto valores quanto tipos sem conversão.


chevron-rightComplete o código para criar uma função que retorne a soma de dois números.hashtag
chevron-rightResposta Corretahashtag

Resposta Correta:

Feedback: A função soma deve retornar a soma dos dois parâmetros recebidos.


chevron-rightQual é a saída do seguinte código: `console.log(0 == false)`?hashtag

A) true

B) false

chevron-rightResposta Corretahashtag

Resposta Correta: A

Feedback: Em JavaScript, 0 é considerado false em uma comparação com ==, resultando em true.


chevron-rightQual é a saída do seguinte código: `console.log([] == ![])`?hashtag

A) true

B) false

chevron-rightResposta Corretahashtag

Resposta Correta: A

Feedback: Esta é uma peculiaridade do JavaScript, onde ambos os lados da comparação são convertidos para false, resultando em true.


chevron-rightComplete o código para desestruturar o objeto pessoa e acessar as propriedades nome e idade.hashtag
chevron-rightResposta Corretahashtag

Resposta Correta:

Feedback: A desestruturação permite extrair valores de objetos de forma concisa, facilitando o acesso às propriedades.


chevron-rightQual é a saída do seguinte código: `console.log([...'abc'])`?hashtag

A) ['abc']

B) ['a', 'b', 'c']

C) ['a,b,c']

D) NaN

chevron-rightResposta Corretahashtag

Resposta Correta: B

Feedback: O operador spread ... divide a string 'abc' em caracteres individuais, resultando em ['a', 'b', 'c'].


Exercícios de Validação

circle-info

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 for para iterar sobre o array e calcular a soma dos elementos.

chevron-rightCódigo Esperadohashtag

Feedback Detalhado

  • Implementação do Loop: Certifique-se de usar um loop for para iterar sobre o array. Inicialize uma variável soma com 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.

chevron-rightCódigo Esperadohashtag

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

triangle-exclamation
chevron-rightResposta Corretahashtag

Erros:

  1. O await deve ser usado ao chamar fetch.

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:

  1. Criar um objeto representando uma pessoa, com propriedades "nome", "idade" e "hobbies".

  2. Adicionar um método ao objeto para adicionar novos hobbies.

  3. Implementar uma função que imprima uma saudação personalizada utilizando as propriedades do objeto.

  4. 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 pessoa com as propriedades e método conforme descrito.

  • Implementação das Funções:

    • Implemente a função saudacao para imprimir uma mensagem personalizada.

    • Implemente a função calcularMediaIdade para retornar a média de idades das pessoas no array.

chevron-rightCódigo Esperadohashtag

Feedback Detalhado

  • Criação do Objeto: Adicione as propriedades "nome", "idade" e "hobbies" ao objeto pessoa e implemente o método adicionarHobby.

  • Implementação das Funções: A função saudacao deve usar this para acessar as propriedades do objeto e imprimir a mensagem correta. A função calcularMediaIdade deve usar reduce para somar as idades e retornar a média.

Last updated