Dúvidas Mentoria V | 18/05 - 17h

Boa, excelente dica

1 Like

Fala, @MarcodeOliveira tudo certinho? Eu achei confuso também porque na aula o professor não fala sobre como funciona a regra de validação do CPF. Vou tentar ajudar aqui pra ver se fica um pouco mais claro:

O CPF é formado por 9 números e 2 dígitos verificadores. Vamos supor aqui que o cpf que queremos validar seja 145.382.206-20.

A validação basicamente funciona em duas etapas:

Primeira etapa
Atribui-se pesos para cada um dos primeiros 9 números e depois soma-se esses valores, da seguinte forma:
10 * 1 = 10
9 * 4 = 36
8 * 5 = 40
7 * 3 = 21
6 * 8 = 48
5 * 2 = 10
4 * 2 = 8
3 * 0 = 0
2 * 6 = 12
O resultado da soma desses valores seria então: soma = 185

** Segunda etapa **
Para validar o primeiro digito basta dividir a soma por 11.

Se o resto dessa divisão for menor que 2, o primeiro dígito será 0. Se o resto dessa divisão for maior ou igual a 2, o primeiro dígito será o resultado de 11 - (soma % 11) (lembrando que “%” nos devolve o resto da divisão).

Para verificar o segundo dígito é só seguir o mesmo raciocínio, porém considerando agora os 10 primeiros números do CPF:

11 * 1
10 * 4
9 * 5
8 * 3
7 * 8
6 * 2
5 * 2
4 * 0
3 * 6
2 * 2

Espero ter ajudado. Grande abraço.

1 Like

Tenho uma duvida sobre switch no javascript
Quando coloco case ‘1’ ou case “1” não funciona (num código existente de outro projeto que possuo, imagem em anexo)
Quando coloco case 1 funciona, queria entender melhor o que pode ser usado ali em questão de “data type” string/number/boolean e como

Obrigada

1 Like

Boa tarde, Christiane, tudo bem?

Sempre que se analisa o parâmetro de uma função, você precisa entender qual tipo está tratando. Avaliando o seu caso, vamos analisar o parâmetro que foi passado no seu switch, que é o day.

O day é resultado da aplicação do método getDay(), que é utilizado em Objeto Date. Este método retorna um inteiro, onde cada número (de 0 a 6) corresponde a um dia da semana (começando por Domingo).

Portanto, ao utilizar a sua variável day como parâmetro no switch, você precisa expressar as saídas esperadas em função dos valores de entrada que essa variável pode ter. Quando você escreve, como relatou acima, ‘1’ ou “1”, o javascript entende que você está tratando de uma string e vai apresentar um erro, já que sua variável nesse caso é tipo number.

Espero que tenham ficado claras as diferenças, e que tenha ajudado!

Boa Tarde @IgorLeonel, da uma lida nesse doc das Promisses tem diversos exemplos, penso que isso vai ajudar a ficar mais claro pra ti.

Promise - JavaScript | MDN (mozilla.org)

Olá @christiane.delazeri , o case so funciona quando você usa o 1 como inteiro, justo, pq a variavel day recebe um inteiro.
a função getDay retorna os dais como inteiro por isso so funciona com inteiro.
Espero ter ajudado.

O que vem depois do case é a condição a ser cumprida

Sim, Marcelo, também fiquei “boiando” um pouco por conta disso :grin:.
Ajudou sim, sem dúvida.
Com essa explicação fica mais fácil entender a lógica usada pelo professor para criar o código.

Abraço.

Com javascript vem ganhando cada vez mais recursos, você acha futuramente ele vai conseguir sanar as utilizações do typescript?

Ficou mais claro, obrigada!!

​existe alguma vantagem em usar o implement ao invés de herdar propriedades de outra classe?