Квадратные корни

let calculateRoots = function (a, b, c) {
  let result = b * b - 4 * a * c;
  
  if (result < 0) {
    return 'Корней нет';
    };
  
  if (result == 0) {
    let root = -b / (2 * a);
    return 'Корень равен ' + root; 
    };
    
  if (result > 0) {
    let rootOne = (-b + Math.sqrt(result)) / (2 * a);
    let rootTwo = (-b - Math.sqrt(result)) / (2 * a);
    return 'Первый корень равен ' + rootOne + ', второй корень равен ' + rootTwo;
    };
  
  };

Скорее всео хотели познакомить с Math.sqrt() ,на примере практической задачи

function calculateRoots(a, b, c) {

let d = b ** 2 - 4 * a * c;

if (d === 0) {

  return 'Корень равен ' + -b / (2 * a);

} else if (d > 0) {

  return 'Первый корень равен ' + (-b + Math.sqrt(d)) / (2 * a) + ', второй корень равен ' + (-b - Math.sqrt(d)) / (2 * a);

};

return ‘Корней нет’;

};

Неа, эта функция уже нужна была однажды ранее.
Предположу, что задача нужна для приятного чувства легкой победы, после раздражающей предыдущей)

Окей, я считаю этот код неплохо оформленным среди последних отписавшихся. В отличие от решения @hellocoder :
1 - Дискриминанту можно записать в const, чтобы показать, что мы её не меняем никак после получения.
2 - Дискриминанта - это не результат.
3 - По заветам дедули Дейкстры, у функции должен быть один выход, поэтому return только в конце, а в процессе мы лишь меняем переменную.
Короче:

function calculateRoots(a, b, c) {
  const D = b * b - 4 * a * c;
  
  let result = '';
  
  if (D < 0) {
    result = 'Корней нет'
    
  } else if (D === 0) {
    let root = -b / (2 * a);
    result = `Корень равен ${root}`;
    
  } else {
    let root1 = (-b + Math.sqrt(D)) / (2 * a);
    let root2 = (-b - Math.sqrt(D)) / (2 * a);
    result = `Первый корень равен ${root1}, второй корень равен ${root2}`;
  }
  
  return result;
}