Function expression trong JavaScript là một cách định nghĩa hàm bằng cách gán nó cho một biến. Khác với function declaration, nơi bạn có thể định nghĩa hàm bằng cách sử dụng từ khóa function
mà không cần gán cho một biến, function expression yêu cầu bạn phải gán hàm đó cho một biến hoặc sử dụng nó trực tiếp như một tham số của hàm khác.
Dưới đây là một số điểm quan trọng về function expression:
Một function expression có thể được định nghĩa như sau:
const add = function(a, b) { return a + b; };
Trong ví dụ trên, hàm add
được định nghĩa như một function expression và được gán cho biến add
. Bạn có thể gọi hàm này như sau:
console.log(add(2, 3)); // Kết quả: 5
Function expressions có thể là “anonymous” (không có tên), như trong ví dụ trên. Bạn cũng có thể sử dụng anonymous function expressions khi truyền vào các hàm khác:
setTimeout(function() { console.log("Hello after 2 seconds"); }, 2000);
Bạn cũng có thể định nghĩa function expression với tên, nhưng tên này chỉ có tác dụng bên trong hàm đó:
const factorial = function fact(n) { if (n === 0) return 1; return n * fact(n - 1); }; console.log(factorial(5)); // Kết quả: 120
Function expressions thường được sử dụng trong callback hoặc khi truyền hàm như một tham số:
const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map(function(num) { return num * 2; }); console.log(doubled); // Kết quả: [2, 4, 6, 8, 10]
Function expressions là một phần quan trọng trong JavaScript, giúp bạn tổ chức mã hiệu quả hơn và tạo ra các hàm có thể sử dụng lại một cách dễ dàng. Hãy sử dụng chúng trong các tình huống cần thiết, đặc biệt là khi bạn cần một hàm linh hoạt hoặc muốn truyền hàm như một tham số.