Zamka mesta return u JavaScript-u

Nakon što se izvrši naredba return - funkcija će završiti svoj rad i nijedan dalji kod se neće izvršiti. Pogledajte primer:

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // ovaj kod se nikada neće izvršiti
}

let res = func(3);

To ne znači da u funkciji mora postojati samo jedan return. Ali izvršiće se samo jedan od njih. U sledećem primeru, u zavisnosti od vrednosti parametra, izvršiće se ili prvi, ili drugi return:

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

console.log(func( 3)); // ispisaće '+++'
console.log(func(-3)); // ispisaće '---'
Задание 1

Šta će biti ispisano u konzoli kao rezultat izvršavanja sledećeg koda:

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

console.log( func(3) );

Objasnite zašto.

Задание 2

Šta će biti ispisano u konzoli kao rezultat izvršavanja sledećeg koda:

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

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

Objasnite zašto.

Задание 3

Šta će biti ispisano u konzoli kao rezultat izvršavanja sledećeg koda:

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

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

Objasnite zašto.