Làm việc với function trong Javascript

Làm việc với function trong Javascript

Ở bài viết này chúng ta sẽ tìm hiểu về arrow function (hàm mũi tên), default parameter (tham số mặc định), hàm callback, return hàm, và cú pháp gọi hàm IIFE.

Hàm mũi tên (Arrow function)

Hàm mũi tên (arrow function) là một cách ngắn gọn để định nghĩa hàm. Cú pháp của nó gọn hơn so với cách định nghĩa hàm thông thường

Ví dụ:

Đối với hàm có nhiều lệnh:

const tinhtong = (a, b) => {
const result = a + b
console.log(result)
return result
}
tinhtong (4, 5) // Output: 9

Đối với hàm không có nhiều khối lệnh, việc xử lý chỉ trên 1 dòng và không ngăn cách nhau bởi dấu ; thì có thể khai báo như sau:

const tinhtong= (a, b) => a + b;
console.log(tinhtong(2, 3)); // Output: 5

Đối với hàm chỉ có 1 tham số:

const greet = name => `Hello, ${name}!`;
console.log(greet('Ngọc')); // Output: 'Hello, Ngọc!'

Đối với hàm không có tham số:

const display= () => console.log('Xin chào!');
display(); // Output: 'Xin chào!'

Default parameter (tham số mặc định)

Tham số mặc định cho phép bạn đặt giá trị mặc định cho tham số của hàm trong trường hợp giá trị không được truyền khi gọi hàm. Nếu một tham số không được cung cấp, nó sẽ lấy giá trị mặc định mà mình đặt ban đầu.

Ví dụ:

const tinhtong = (a,b=0)=>a+b
console.log(tinhtong(5)) // Output: 5
console.log(tinhtong(5,6)) // Output: 11

Hàm Callback (callback function)

Hàm callback (callback function) là một hàm được truyền làm tham số cho một hàm khác và sẽ được gọi lại (callback) bên trong hàm đó khi có sự kiện hoặc hành động nào đó xảy ra.

Ví dụ với hàm tính tổng bên trên t sẽ truyền nó làm tham số cho hàm display như dưới đây:

const display = (a,b,callbackFn)=>{
console.log(`Tổng ${a}+${b}=${callbackFn(a,b)} `); 
}
display(5,10,tinhtong) // Output: 15

Hàm return hàm

Trong JavaScript, một hàm có thể return (trả về) một hàm khác. Đây là một tính năng mạnh mẽ của ngôn ngữ lập trình bậc cao như JavaScript, cho phép bạn tạo các hàm 1 cách linh hoạt. Khi một hàm trả về một hàm khác, hàm được trả về có thể được lưu trữ vào một biến và được gọi sau đó.

Ví dụ:

//const makeMultiplier = (x)=>{
// return (y) {
// return x * y;
// };
//}
// Viết ngắn gọn
const makeMultiplier = (x)=>(y)=>x*y
console.log(makeMultiplier(5)(6)) // Output: 30
// Hoặc
const a = makeMultiplier(5)
console.log(a(6)) // output: 30

Gọi hàm ngay lập tức IIFE (Immediately Invoked Function Expression)

Gọi hàm ngay lập tức IIFE (Immediately Invoked Function Expression) là một hàm trong JavaScript được định nghĩa và thực thi ngay lập tức sau khi nó được tạo.

Ví dụ với hàm tính tổng bên trên, chúng ta có thể viết lại bằng cú pháp IIFE như sau:

((a, b) =>console.log(a + b))(5,6) // Output: 11
Được viết bởi: Ngọc Ngô

Bài viết cùng chuyên mục

Vote 0