为什么这个 javascript 代码给出未定义的结果? (计算GCD),不知道为什么不进入if block

why this javscript code giving undefined as a result? (Calculating GCD), I don't know why it's not entering if block

我不知道为什么它不输入 if block.Maybe 因为类型强制。请指正并告诉我这段代码有什么错误。

function calculateGCD(a, b) {
  if (b === 0) {
    return a;
  } else
    console.log(a, b);
  a > b ? calculateGCD(b, (a % b)) : calculateGCD(a, (b % a));
}

function main() {
  let n1, n2, gcd;
  n1 = +prompt("enter 1st number?");
  n2 = +prompt("enter second number?");

  gcd = calculateGCD(n1, n2);

  document.write(gcd);
}


main();

在函数中你应该 return 结果。

    function calculateGCD(a, b) {
      let result
      if (b === 0) {
        return a;
      } else {
       console.log(a, b);
       a > b ? result = (b, (a % b)) : result = (a, (b % a));
    }
   return result
  }