Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Incremento e decremento no JavaScript

Olá pessoal, quero pedir uma ajuda, quem puder! Estou tentando criar uma lógica onde o console me mostre o increment e decrement. Estou aplicando por meio de uma class "Clock" e não estou conseguindo chamar a a função "tick" para fazer o incremento e o decremento dos números e apresentar um mensagem ao final.

class Clock{
    constructor(increment, decrement){
            this.increment = increment;
            this.decrement = decrement;
            }
            tick() {
            return `${this.increment} , ${this.decrement}`
            }
}
const tick = new Clock (0, 10)
console.log(tick)

Agradeço imensamente quem puder ajudar!

1 resposta
solução!

Oi Fábio, tudo bem?

Desculpa a demora em retornar.

Muito obrigada por compartilhar sua dúvida conosco! Vamos ver como podemos resolver o problema que você está enfrentando.

Primeiramente, vamos entender o que é o operador de incremento e decremento no JavaScript. Eles são operadores unários que aumentam ou diminuem o valor de uma variável em uma unidade, respectivamente. O operador de incremento é representado por "++" e o de decremento por "--".

Para aplicar o operador de incremento ou decremento em uma variável, basta usá-lo antes ou depois do nome da variável. Quando usado antes, a operação é realizada antes da variável ser avaliada e quando usado depois, a operação é realizada após a variável ser avaliada. Veja um exemplo:

let a = 5;
console.log(++a); // Output: 6
console.log(a); // Output: 6

let b = 10;
console.log(b--); // Output: 10
console.log(b); // Output: 9

Agora, voltando ao seu código, você definiu uma classe "Clock" com os atributos "increment" e "decrement" e um método "tick" que retorna uma string com esses atributos. No entanto, você não está fazendo uso dos operadores de incremento e decremento.

Para incrementar ou decrementar os valores dos atributos na sua classe, você precisa fazer uso desses operadores. Aqui está uma maneira de fazer isso:

class Clock {
  constructor(increment, decrement) {
    this.increment = increment;
    this.decrement = decrement;
  }

  tick() {
    this.increment++; // incrementa o valor de "increment" em 1
    this.decrement--; // decrementa o valor de "decrement" em 1
    return `Incremento: ${this.increment}, Decremento: ${this.decrement}`;
  }
}

const tick = new Clock(0, 10);
console.log(tick.tick()); // Output: Incremento: 1, Decremento: 9
console.log(tick.tick()); // Output: Incremento: 2, Decremento: 8

Note que no método "tick", estamos incrementando o valor do atributo "increment" e decrementando o valor do atributo "decrement" usando os operadores "++" e "--", respectivamente.

Além disso, alteramos o retorno do método "tick" para exibir uma mensagem que inclui os valores atualizados dos atributos "increment" e "decrement".

Ao criar uma instância da classe "Clock" com os valores iniciais de "0" e "10", podemos chamar o método "tick" duas vezes para vermos os valores sendo atualizados.

Espero que isso tenha sido útil para você!

Um abraço e bons estudos.