Arrow Function trong JavaScript

0 0 0

Người đăng: Thanh Hung

Theo Viblo Asia

Arrow function (hàm mũi tên) là một cách khai báo hàm ngắn gọn hơn so với phương thức khai báo hàm truyền thống trong JavaScript. Nó được giới thiệu từ ECMAScript 6 (ES6) và là một tính năng rất phổ biến trong React, đặc biệt là trong các functional components.

Cú pháp của Arrow Function

Arrow function sử dụng dấu => để tách biệt giữa tham số và phần thân hàm. Đây là cú pháp cơ bản:

const functionName = (parameter1, parameter2) => { // code
}

Ví dụ:

const sum = (a, b) => { return a + b;
}; console.log(sum(3, 5)); // Output: 8

Nếu hàm chỉ có một tham số, ta có thể bỏ qua dấu ngoặc:

const square = x => x * x; console.log(square(4)); // Output: 16

Nếu hàm không có tham số, cần dùng dấu ngoặc tròn trống:

const sayHello = () => console.log('Hello, world!');
sayHello(); // Output: Hello, world!

Ưu điểm của Arrow Function

Cú pháp ngắn gọn

Với cú pháp ngắn gọn, arrow function giúp giảm bớt độ dài và giúp code trở nên dễ đọc hơn.

Ví dụ:

// Arrow function
const multiply = (a, b) => a * b;

So với:

// Function declaration
function multiply(a, b) { return a * b;
}

Không có this riêng

Một trong những đặc điểm quan trọng của arrow function là nó không có this riêng. Thay vào đó, nó kế thừa this từ ngữ cảnh bên ngoài. Điều này làm cho arrow function đặc biệt hữu ích khi làm việc với các callback hoặc trong React khi cần giữ giá trị của this trong các phương thức.

Ví dụ:

class Counter { constructor() { this.count = 0; } // Arrow function giữ nguyên `this` từ constructor increment = () => { this.count++; console.log(this.count); };
} const counter = new Counter();
const incrementFn = counter.increment;
incrementFn(); // Output: 1

Ở ví dụ trên, nếu không dùng arrow function, bạn sẽ cần phải sử dụng .bind(this) để đảm bảo this trong phương thức increment luôn tham chiếu đúng đối tượng Counter.

Khi nào nên sử dụng Arrow Function

  • Khi làm việc với callback functions (ví dụ trong các sự kiện trong React hoặc JavaScript thuần).
  • Khi bạn cần giữ this của ngữ cảnh bên ngoài, chẳng hạn như trong các phương thức của class.
  • Khi muốn code ngắn gọn và dễ đọc.

Lưu ý khi sử dụng Arrow Function

  • Không dùng làm constructor: Arrow function không thể được gọi với new vì chúng không có prototype.
const Person = (name) => { this.name = name; // Lỗi: Cannot set property 'name' of undefined
};
const john = new Person("Hung"); // Sẽ gây lỗi
  • Không có arguments: Arrow function không có đối tượng arguments, vì vậy nếu bạn cần truy cập vào danh sách các đối số, bạn phải sử dụng một cách khác (ví dụ, dùng Rest Parameters).

🔚 Kết luận

Arrow function là một phần quan trọng trong JavaScript hiện đại, giúp việc khai báo và sử dụng các hàm trở nên ngắn gọn và dễ hiểu hơn. Tuy nhiên, cần lưu ý rằng arrow function có sự khác biệt so với các function declaration truyền thống, đặc biệt là cách mà chúng xử lý this và khả năng làm constructor. Vì vậy, bạn nên chọn sử dụng arrow function khi cần tối ưu cú pháp và duy trì this trong các tình huống callback, nhưng cần tránh sử dụng chúng như là constructor hoặc khi cần đối tượng arguments.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Những điều cần lưu ý và sử dụng Hook trong React (Phần 5)

V. Sử dụng useRef như thế nào cho đúng.

0 0 144

- vừa được xem lúc

7 Cách viết code React "clean" hơn

Mở đầu. Là nhà phát triển React, tất cả chúng ta đều muốn viết code sạch hơn, đơn giản hơn và dễ đọc hơn. 1. Sử dụng JSX shorthands.

0 0 202

- vừa được xem lúc

Create app covid-19 use Reactjs

Chào các bạn hôm nay mình sẽ chia sẻ với các bạn một app covid-19, để mọi người cùng tham khảo, tính năng của App này chỉ đơn giản là show số liệu về dịch Covid của các nước trên thế giới như: Số ngườ

0 0 58

- vừa được xem lúc

ReactJS Custom Hooks

ReactJS cung cấp rất nhiều cho bạn các hook mà bạn có thể sử dụng hằng ngày vào project của mình. Nhưng bên cạnh đó bạn có thể tự tạo ra các hook của riêng bạn để sử dụng, làm cho việc tối ưu hóa code

0 0 82

- vừa được xem lúc

3 cách để tránh re-render khi dùng React context

3 cách để tránh re-render khi dùng React context. Nếu đã từng sử dụng React context cho dự án của bạn, và gặp phải tình trạng các component con - Consumer re-render rất nhiều lần, thậm chí bị sai logi

0 0 40

- vừa được xem lúc

Tìm hiểu về React Hook: Sử dụng useDebugValue

Trong bài viết hôm này, tôi sẽ giới thiệu các bạn một React Hook tiếp theo, đó là useDebugValue. useDebugValue là gì .

0 0 60