Как сделать чтобы метод класса возвращал значение а не undefined?

Рейтинг: 0Ответов: 1Опубликовано: 07.02.2023

Возникла проблема функция summary выдает undefined так как ничего не возвращает. Как сделать так чтобы функция summary возвращала Cool! , Good, but it can be better! , Radish. Я просто не очень понимаю как в return передать условия при которых будет выводиться конкретный текст.

summary () {
  const averageVisit = this.visitinMagazine.filter((element) => element === true).length / this.visitinMagazine.length;
  if (this.avgMark > 90 && averageVisit > 0.9) {
    return console.log('Cool!');
  } else if (this.avgMark > 90 || averageVisit > 0.9) {
    return console.log('Good, but it can be better!');
  } else {
    return console.log('Radish');
  }
}

Ответы

▲ 1Принят

Можно так

summary () {
  const averageVisit = this.visitinMagazine.filter((element) => element === true).length / this.visitinMagazine.length;
  if (this.avgMark > 90 && averageVisit > 0.9) {
    return 'Cool!';
  } else if (this.avgMark > 90 || averageVisit > 0.9) {
    return 'Good, but it can be better!';
  } else {
    return 'Radish';
  }
}

Или вот так

summary () {
  const averageVisit = this.visitinMagazine.filter((element) => element === true).length / this.visitinMagazine.length;
  let returnString;
  if (this.avgMark > 90 && averageVisit > 0.9) {
    returnString = 'Cool!';
  } else if (this.avgMark > 90 || averageVisit > 0.9) {
    returnString = 'Good, but it can be better!';
  } else {
    returnString = 'Radish';
  }
  return returnString;
}