Punto delicato di return in JavaScript

Dopo che l'istruzione return verrà eseguita - la funzione terminerà la sua esecuzione e nessun codice successivo verrà eseguito. Guarda l'esempio:

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // questo codice non verrà mai eseguito
}

let res = func(3);

Questo non significa che in una funzione debba esserci un solo return. Ma ne verrà eseguito solo uno di essi. Nel prossimo esempio, a seconda del valore del parametro, verrà eseguito o il primo, o il secondo return:

javascriptfunction func(num) {
  if (num >= 0) {
    return '+++';
  } else {
    return '---';
  }
}

console.log(func( 3)); // visualizzerà '+++'
console.log(func(-3)); // visualizzerà '---'
Задание 1

Cosa verrà visualizzato nella console come risultato dell'esecuzione del seguente codice:

javascriptfunction func(num) {
  return num;
  
  let res = num ** 2;
  return res;
}

console.log( func(3) );

Spiega perché.

Задание 2

Cosa verrà visualizzato nella console come risultato dell'esecuzione del seguente codice:

javascriptfunction func(num) {
  if (num <= 0) {
    return Math.abs(num);
  } else {
    return num ** 2;
  }
}

console.log( func(10) );
console.log( func(-5) );

Spiega perché.

Задание 3

Cosa verrà visualizzato nella console come risultato dell'esecuzione del seguente codice:

javascriptfunction func(num) {
  if (num <= 0) {
    return Math.abs(num);
  }
  
  return num ** 2;
}

console.log( func(10) );
console.log( func(-5) );

Spiega perché.