Den subtila aspekten av return i JavaScript

Efter att return-instruktionen har utförts - avslutas funktionen och ingen kod efteråt kommer att köras. Se exemplet:

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // den här koden kommer aldrig att köras
}

let res = func(3);

Det betyder inte att en funktion måste ha ett enda return. Men endast ett av dem kommer att köras. I följande exempel kommer, beroende på parameterns värde, antingen det första eller det andra return att köras:

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

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

Vad kommer att skrivas ut i konsolen som ett resultat av att följande kod körs:

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

console.log( func(3) );

Förklara varför.

Задание 2

Vad kommer att skrivas ut i konsolen som ett resultat av att följande kod körs:

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

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

Förklara varför.

Задание 3

Vad kommer att skrivas ut i konsolen som ett resultat av att följande kod körs:

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

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

Förklara varför.