Điểm tinh tế của lệnh return trong JavaScript

Sau khi lệnh return được thực thi - hàm sẽ kết thúc công việc của nó và không có mã nào khác được thực thi tiếp theo. Hãy xem ví dụ:

javascriptfunction func(num) {
  return num ** 2;
  
  console.log('!'); // đoạn mã này sẽ không bao giờ được thực thi
}

let res = func(3);

Điều này không có nghĩa là trong hàm phải chỉ có một lệnh return. Nhưng chỉ một trong số chúng sẽ được thực thi. Trong ví dụ tiếp theo, tùy thuộc vào giá trị của tham số, hoặc lệnh return thứ nhất, hoặc lệnh return thứ hai sẽ được thực thi:

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

console.log(func( 3)); // sẽ in ra '+++'
console.log(func(-3)); // sẽ in ra '---'
Задание 1

Điều gì sẽ được in ra console khi thực thi đoạn mã sau:

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

console.log( func(3) );

Giải thích tại sao.

Задание 2

Điều gì sẽ được in ra console khi thực thi đoạn mã sau:

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

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

Giải thích tại sao.

Задание 3

Điều gì sẽ được in ra console khi thực thi đoạn mã sau:

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

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

Giải thích tại sao.