the identifier has already been declared

0

I have a problem with my code, it tells me in the console that the identifier has already been declared, I do not know what to do, this is my code:

 class FechaCalculada {
  constructor(segundo, minuto, hora, dia, mes, año) {
    this.segundo = segundo
    this.minuto = minuto
    this.hora = hora
    this.dia = dia
    this.año = año
    this.mes = mes
  }
  //segundos faltantes para el siguiente minuto
  segundosFaltantes(){
    return 60 - this.segundos;
  }
  minutosFaltantes(){
    if (this.minuto==0) {
      return 60 - this.minuto
    }else {
      return 59 - this.minuto
    }
  }
  horasFaltantes(){
    if (this.hora == 0) {
      return 24 - this.hora;
    }else {
      return 23 - this.hora;
    }
  }
  añoBisiesto(){
    if (this.año%4==0) {
      return true
    }else {
      return false
    }
  }
  diasAño(){
    if (this.añoBisiesto==true) {
      return 366
    }else {
      return 365
    }
  }
  mesDeFebrero(){
    if (this.añoBisiesto == true) {
      return 29
    }else {
      return 28
    }
  }
  mesCantidad(){
    switch (this.mes) {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:return 31
      break

      case 2: mesDeFebrero()
      case 4:
      case 6:
      case 9:
      case 11: return 30
        break
      default: return 0
      break

    }
  }
  diasAcumulados(){
    let diasRestantes = 0
    let febrero = this.mesDeFebrero()
    switch (this.mes + 1) {
      case 1: diasRestantes += 31
      case 2: diasRestantes += febrero
      case 3: diasRestantes += 31
      case 4: diasRestantes += 30
      case 5: diasRestantes += 31
      case 6: diasRestantes += 30
      case 7: diasRestantes += 31
      case 8: diasRestantes += 31
      case 9: diasRestantes += 30
      case 10: diasRestantes += 31
      case 11: diasRestantes += 30
      case 12: diasRestantes += 31

        break;
      default:diasRestantes += 0
      break;

    }
    return diasRestantes

  }
  mostrarDatos(){
    return "faltan "+ this.diasAcumulados() + "dias" + this.horasFaltantes() + "horas"
    + this.minutosFaltantes() + "minutos" + this.segundosFaltantes() + "segundos";
  }


}
let a = new FechaCalculada(12, 32, 10, 10, 10, 2017);
console.log(a.mostrarDatos());
    
asked by Carlos Chávez 23.10.2017 в 00:33
source

1 answer

1

The code you present does not have that error in itself.

I have copied it as is in a code snippet. Run it and you'll see that it works. Give this result:

faltan 61dias13horas27minutosNaNsegundos

You may have a variable with a name repeated elsewhere.

class FechaCalculada {
  constructor(segundo, minuto, hora, dia, mes, año) {
    this.segundo = segundo
    this.minuto = minuto
    this.hora = hora
    this.dia = dia
    this.año = año
    this.mes = mes
  }
  //segundos faltantes para el siguiente minuto
  segundosFaltantes() {
    return 60 - this.segundos;
  }
  minutosFaltantes() {
    if (this.minuto == 0) {
      return 60 - this.minuto
    } else {
      return 59 - this.minuto
    }
  }
  horasFaltantes() {
    if (this.hora == 0) {
      return 24 - this.hora;
    } else {
      return 23 - this.hora;
    }
  }
  añoBisiesto() {
    if (this.año % 4 == 0) {
      return true
    } else {
      return false
    }
  }
  diasAño() {
    if (this.añoBisiesto == true) {
      return 366
    } else {
      return 365
    }
  }
  mesDeFebrero() {
    if (this.añoBisiesto == true) {
      return 29
    } else {
      return 28
    }
  }
  mesCantidad() {
    switch (this.mes) {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
        return 31
        break

      case 2:
        mesDeFebrero()
      case 4:
      case 6:
      case 9:
      case 11:
        return 30
        break
      default:
        return 0
        break

    }
  }
  diasAcumulados() {
    let diasRestantes = 0
    let febrero = this.mesDeFebrero()
    switch (this.mes + 1) {
      case 1:
        diasRestantes += 31
      case 2:
        diasRestantes += febrero
      case 3:
        diasRestantes += 31
      case 4:
        diasRestantes += 30
      case 5:
        diasRestantes += 31
      case 6:
        diasRestantes += 30
      case 7:
        diasRestantes += 31
      case 8:
        diasRestantes += 31
      case 9:
        diasRestantes += 30
      case 10:
        diasRestantes += 31
      case 11:
        diasRestantes += 30
      case 12:
        diasRestantes += 31

        break;
      default:
        diasRestantes += 0
        break;

    }
    return diasRestantes

  }
  mostrarDatos() {
    return "faltan " + this.diasAcumulados() + "dias" + this.horasFaltantes() + "horas" +
      this.minutosFaltantes() + "minutos" + this.segundosFaltantes() + "segundos";
  }


}
let a = new FechaCalculada(12, 32, 10, 10, 10, 2017);
console.log(a.mostrarDatos());
    
answered by 23.10.2017 / 00:58
source