1
resposta

Resolução

function exibirLinhas() {
    console.log('=-='.repeat(40));
}

// ---------- EXERCÍCIO 1 ----------
// Declarar três variáveis de tipos diferentes (string, número e booleano) e exibir seus tipos no console.

let nome = "Maxine";       // string
let idade = 22;            // número
let trabalhando = true;    // booleano

console.log(typeof(nome));        // string
console.log(typeof(idade));       // number
console.log(typeof(trabalhando)); // boolean

exibirLinhas()

// ---------- EXERCÍCIO 2 ----------
// Criar variáveis para primeiro e último nome e combiná-las:
// 1) Usando operador + 
// 2) Usando template string

let primeiroNome = "Maxine";
let sobrenome = "Athos";

let nomeCompleto = primeiroNome + ' ' + sobrenome;       // concatenação com +
let nomeCompletoTemplate = `${primeiroNome} ${sobrenome}`; // template string

console.log(nomeCompletoTemplate);

exibirLinhas()

// ---------- EXERCÍCIO 3 ----------
// Declarar uma variável numérica e uma variável string, combinar em uma frase usando template string
// e exibir o resultado no console

let numero = 23;
let texto = "exemplo";

let resultado = `A variável numero vale '${numero}' e é do tipo '${typeof(numero)}'. A variável texto vale '${texto}' e é do tipo '${typeof(texto)}'.`;

console.log(resultado);

exibirLinhas()

// ---------- EXERCÍCIO 4 ----------
// Declarar uma variável com valor inicial e reatribuir outro valor, imprimindo ambos

let valorMutavel = "inicial";
console.log(valorMutavel);

valorMutavel = "modificado";
console.log(valorMutavel);

exibirLinhas()

// ---------- EXERCÍCIO 5 ----------
// Testar escopo de variáveis com var e let

// Usando var
var exemploVar = "valor inicial";
console.log(exemploVar);

if (true) {
    exemploVar = "valor alterado dentro do bloco";
    console.log(exemploVar);
}

console.log(exemploVar); // var não respeita escopo de bloco

// Usando let
let exemploLet = "valor inicial";
console.log(exemploLet);

if (true) {
    let exemploLetBloco = "valor dentro do bloco";
    console.log(exemploLetBloco);
}

console.log(exemploLet); // let respeita escopo de bloco

exibirLinhas()

// ---------- EXERCÍCIO 6 ----------
// Declarar uma variável booleana que indica se está chovendo e exibir mensagem sobre levar guarda-chuva

function verificarChuva(estaChovendo) {
    if (estaChovendo && (typeof estaChovendo === "boolean")) {
        console.log('Está chovendo! Leve um guarda-chuva.');
    } else if (!estaChovendo && (typeof estaChovendo === "boolean")) {
        console.log('Não está chovendo. Guarda-chuva não necessário.');
    } else { 
        console.log('Valor não booleano.');
    }
}

verificarChuva(true);
verificarChuva(false);
verificarChuva("não booleano");
1 resposta

Bom dia! Tudo bem?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de typeof para identificar os tipos de variáveis com precisão, utilizou muito bem o template string para tornar as mensagens mais claras e dinâmicas, e ainda compreendeu a importância do escopo de variáveis com var e let para garantir um código mais seguro e organizado.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!