Задание "Не повторяйся" 13/23

Не принимает код, если после if стоит точка с запятой.

Неправильно:

var makeElement = function (tagName, className, text) {
  var element = document.createElement(tagName);
  element.classList.add(className);
  if (text) {
    element.textContent = text;
  };
  return element;  
};

Правильно:

var makeElement = function (tagName, className, text) {
  var element = document.createElement(tagName);
  element.classList.add(className);
  if (text) {
    element.textContent = text;
  }
  return element;  
};

Это , видимо, косяк htmlacademy, а не косяк JS
Я правильно понял? Мне нужно знать, чтобы я начал копать почему точка запятой в JS после if это косяк.

после if не ставится " ; "
это не выражение, а логическая конструкция.
function functionName(параметры) {блок кода}
if (предикат) {блок кода} else if (предикат2){блок кода} else {блок кода}
while (предикат) {блок кода}
for(предикат) {блок кода}
и т.д.

а вот
var peremennaya = “значение переменной”;
var functionName = function(параметры) {блок кода};
peremennaya++;
peremennaya = a + b;

вот тут можно почитать подробнее

в конце блока кода многие не ставят также, ошибки нет, стилистически не очень (вкусовщина)