Le piège subtil de return en JavaScript

Après l'exécution de l'instruction return - la fonction termine son exécution et aucun code supplémentaire ne sera exécuté. Regardez l'exemple :

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // ce code ne s'exécutera jamais
}

let res = func(3);

Cela ne signifie pas qu'une fonction doit avoir une seule instruction return. Mais un seul d'entre eux sera exécuté. Dans l'exemple suivant, en fonction de la valeur du paramètre, soit le premier, soit le deuxième return sera exécuté :

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

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

Que sera affiché dans la console suite à l'exécution du code suivant :

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

console.log( func(3) );

Expliquez pourquoi.

Задание 2

Que sera affiché dans la console suite à l'exécution du code suivant :

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

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

Expliquez pourquoi.

Задание 3

Que sera affiché dans la console suite à l'exécution du code suivant :

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

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

Expliquez pourquoi.