Dúvidas Mentoria III | 11/05 - 17h

Bom dia, Pedro.

Normalmente usa-se o operador ternário quando as operações a serem executadas dentro dos condicionantes são mais simples. Quando há uma sequência de instruções maior, o ideal é usar a estrutura convencional, até por uma questão de controle de código futuro. Além disso, se você tem “else if” dentro da sua estrutura, recomenda-se que trabalhe também com a estrutura convencional.

O uso do return é necessário caso você utilize o operador ternário dentro de uma função que exija um valor de retorno. nesse caso, seria o mesmo que ter:

function xyz {
    if (true) {
        return 1;
    } else {
        return -1;
    }
}

Espero ter ajudado!

1 Like

Essa thread no twitter explica muito bem as diferenças:

Marco Bruno :brazil: :sweden: no Twitter: “Como funcionam o var, let e const do #JavaScript? Você usa var? Por que? Thread feliz :thread:” / Twitter

1 Like

Bom dia, Marco,

Explicando brevemente, o var é a palavra chave para declaração de variáveis criada em 1995, portanto usa-se mais comumente ela para garantir que seu código terá compatibilidade com browsers mais antigos.

let e const foram palavras chaves introduzidas no Javascript em 2015, sendo que nesse caso o let é equivalente ao var, e const é usado em variáveis que não terão o seu valor alterado durante o código.

Portanto, via de regra: use let/var se o valor da sua variável vai mudar ao longo do código (dê preferência ao var pelo que foi apontado acima), e const se o valor permanecerá constante ao longo do código.

Outro ponto também é a questão do escopo. A declaração com “var” identifica a variável no escopo global do programa, o que significa que você pode ter acesso a ela mesmo fora de estruturas onde ela foi definida. Portanto, é importante se atentar ao seu uso dentro de funções, estruturas de repetição e decisão. Quando for declarar variáveis que são exclusivas de funções, dar preferência ao let pode ser uma alternativa para evitar respostas inesperadas do código.

2 Likes

Como configurar o terminal do VS Code para Java Script?

Boa tarde !
Voce poderia falar como foi desenvolvido/criado o JavaScript ? ele era uma linguagem script de Server -side e mais adiante passou a Client-Side ?

Faaaaala @Rapha_bianchi tudo bem ?

Vamos lá…

  1. Tag Main em Html é uma tag Semantica que faz o nagador entender qual é o conteudo principal (Beleza Kelvin mas o que é semantica, é o significado, é o valor agregado para o navegador entender o que é cada parte do texto do site, assim trazendo um melhor SEO para achar seu site no google).

  2. Aspas duplas ou aspas simples : Não, não tem difença nem Html por não ter uma boa pratica definitiva e nem em javaScript tem diferença.

  3. Tem diferença entre == e === : 2 igua | == é referente a valor e já 3igual |=== é referente a valor e o tipo de valor"number, string, boolean etc…"

2 Likes

Marco, bom dia,

=> “null” significa que uma variável ou objeto não tem qualquer valor atribuído a ela.
=> 0 é um número, portanto essa variável é numérica e possui valor zero. Caso seja declarado entre aspas, torna-se uma string.

Um exemplo clássico do uso do “null” é quando precisamos iniciar um objeto com uma determinada propriedade, mas a princípio essa propriedade não precisa ter um valor associado a ela:

let pessoa = {
 nome: "Matheus",
 idade: null
}

Nesse caso a propriedade idade é iniciada sem um valor associado a ela. Caso indicássemos “idade:0”, seria o mesmo que dizer “0 anos”.

Espero que tenha ficado clara a diferença!

2 Likes

minha duvida é sobre o comando GOTO, do que se trata e pq não deve ser utilizado?

1 Like

Oii, Qual a diferença de um arrow function para uma function anônima??

1 Like

Oii @Rebeca1 espero ajudar da uma olhadinha…

  1. Objeto literal é quando criamos um objeto: com {chaves}

Exemplo:

let pessoa = {
   nome: 'Rebeca'
};
  1. Objeto do tipo New Object: Você está instanciando um novo objeto do construtor Pessoa, ou seja, você está criando um novo objeto do “tipo” Pessoa.

Exemplo:

function Pessoa() {
    this.nome = 'Rebeca';
}

let pessoa = new Pessoa();
console.log(pessoa.nome);

Há, então, a diferença, já que quando você usa o operador new, o objeto retornado (instanciado) irá herdar o prototype de sua função construtora.

Sim parece meio confuso mas é meio que a funcionabilidade do JS tem com objetos do tipo new.

image

Olá, minha duvida se refere ao output na imagem…

Criei um dicionário com 2 pares “Chave/Valor” apenas como exemplo. Quando chamei a função console.log(), utilizando o método Template String, e também concatenando com o sinal “+”, obtive [object object] como retorno ao dicionario referenciado. Mas quando utilizei uma vírgula para unir a string com o dicionário, ele retornou o conteúdo de chaves e valores presentes dentro da minha variável “meuObjeto”. Qual a explicação para este acontecimento?

Desde já, agradeço! :smiley:

Pessoal mais uma dúvida referente a esse módulo:

5 - Quando aparece um desafio na plataforma da gama é para gente tentar resolver primeiro sem ver a aula e depois ir consultado? Ou não tem nada vê? Nesse caso seria sobre a validação do CPF

não tem instruções quanto a isso, acredito que fica ao critério do aluno. Se achar mais interessante tentar antes de ver as aulas pode adotar esse método.

Oi! No switch, cada case é parecido, não necessariamente igual, com o if e else if. Mas o break é utilizado para que o programa finalize o switch, pois a “solução” já foi encontrada e não é mais necessário analisar os próximos cases.
O que é parecido com o else é o default, pois ele só vai ser executado se nenhum outro caso (case) for satisfeito.

2 Likes

O ideal nessas aulas desafio é você ir fazendo com o professor, pois como supõe-se que você está em processo de aprendizado, a ideia é que você vá criando o código e, através das explicações do professor, entendendo o porquê de cada parte do seu programa.

2 Likes

Boa tarde, Giordano,

Vamos à explicação. O console.log pega o argumento passado, converte-o para string e então envia para o console.

O que acontece nos dois primeiros casos é que por utilizar métodos inerentes à strings (no primeiro caso o Template String, e no segundo caso a concatenação), o javascript lê a representação em string do objeto, que é justamente o [object Object] que foi impresso no seu console.

Para que nos dois primeiros resultados você veja o conteúdo que está no seu objeto, primeiro você precisa efetuar a conversão do mesmo para uma string através do JSON.stringfy(). Este método converte um objeto em javascript numa string. Nesse caso, seu código deveria ser o seguinte:

let myObject = {
    name: "Toyota",
    model: "Corolla",
    year: "2021"
}

console.log(`text ${JSON.stringify(myObject)}`);
console.log("text " + JSON.stringify(myObject));

Espero ter ajudado!

1 Like

Ahh, ficou bem mais claro, muito obrigada!

2 Likes