Subtilitățile instrucțiunii return în JavaScript

După ce se execută instrucțiunea return - funcția își va încheia execuția și niciun cod de după nu se va mai executa. Vedeți exemplul:

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // acest cod nu se va executa niciodată
}

let res = func(3);

Aceasta nu înseamnă că o funcție trebuie să aibă doar un return. Dar se va executa doar unul dintre ei. În exemplul următor, în funcție de valoarea parametrului, se va executa fie primul, fie al doilea return:

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

console.log(func( 3)); // va afișa '+++'
console.log(func(-3)); // va afișa '---'
Задание 1

Ce se va afișa în consolă ca rezultat al executării următorului cod:

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

console.log( func(3) );

Explicați de ce.

Задание 2

Ce se va afișa în consolă ca rezultat executării următorului cod:

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

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

Explicați de ce.

Задание 3

Ce se va afișa în consolă ca rezultat executării următorului cod:

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

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

Explicați de ce.