Skip to main content

ES6 Arrow Function Cheatsheet


Dưới đây là một số cách để bạn có thể viết arrow functions trong ES6.
// Explicit Return, Multi-Line
a => {
  return a
}
// Explicit Return, Single-Line
a => { return a }
// Implicit Return, Multi-line
a => (
  a
)
// Implicit Return, Single-Line
a => a
// Multiple Parameters, Parentheses Required
(a, b) => a, b
Implicit vs Explicit Return

Mỗi chúng ta có một cách viết arrow functions khác nhau. Với normal functions, nếu bạn muốn return 1 cái gì đó, bạn sẽ dùng từ khóa return. Arrow functions cũng như vậy. Khi bạn dùng từ khóa return, nó sẽ gọi là `explicit return`. Hãy thử coi các ví dụ sau:



Có thể nhận rõ ràng sự khác biệt. Khi nào thì dùng dấu ngoặc nhọn`{}`, bạn cần phải chính xác cái mà return ra. Tuy nhiên, nếu không dùng `{}`, return sẽ là bao hàm, và bạn không cần chúng.

Có một cách gọi tên cho việc đó. Khi bạn sử dụng dấu ngoặc nhọn như ở Example B thì nó gọi là `block body`, và cú pháp ở Example C gọi là `concise body`.


Parentheses (Dấu ngoặc đơn)

Đối với normal function, bạn luôn luôn phải dùng dấu ngoặc nhọn. Tuy nhiên, với arrow functions, ngoặc nhọn là không bắt buộc nếu như chỉ có một parameter.

- Ví dụ với hàm có một parameter:


- Ví dụ với hàm có nhiều parameter:



Arrow functions return Objects

Đừng quên có sự khác nhau giữa `concise body` and `block body`. `Block body` là khi bạn dùng dấu ngoặc nhọn và biết chính là là return cái gì. `Concise body` là khi bạn không dùng dấu ngoặc nhọn, và bỏ qua từ khóa return.

Ví dụ 1:


Ví dụ 2:



Resource: Arrow Functions

Thanks for watching !

Comments


  1. Nice breakdown. I use 👉👉👉 Crypto Market Monitor daily to track volume and price action.

    ReplyDelete

Post a Comment

Popular posts from this blog

Testing React Native Apps

What are we unit testing exactly ? We're using  "unit testing"  to refer to tests of functions and plain JavaScript objects, independent of the React Native framework. This means that we aren't testing any components that rely on React Native. For example, a unit could be individual methods and functions in classes or really any small pieces of functionality. We mock out dependencies in these tests so that we can test individual methods and functions in isolation. These test are written using testing frameworks and for this article i will be using  Jest , javascript testing framework together with  Enzyme  and  React Native Testing Library . Setting Install If you use  React Native CLI  installs the  Jest  testing framework by default. But if you're using Expo we need to install it manually. yarn add -D enzyme enzyme-adapter-react-16 More: yarn add react-dom react-native-testing-library Create new file  je...

Master Proptypes trong React

React là một thư viện JavaScript cho việc xây dựng giao diện người dùng (UI). React giúp quản lý dễ các trạng thái (state) của ứng dụng hơn và sẽ thay đổi UI khi mà state thay đổi. React dựa vào các component và mỗi component có state của nó. Nếu như là state của component dùng setState() và có thể thể props từ component cha. The Problem Từ khi Reatc là một thư viện JavaScript và JS không cung cấp bất cứ thứ gì về type-checking , bỏ qua việc đó khi sử dụng props component có thể khiến bạn gặp bugs trong ứng dụng. Solution Bạn có thể dùng Js extensions như TypeScript cho việc checking, nhưng nếu bạn không muốn sử dụng nó, React cung cấp đầy đủ cho tính năng type-checking verify props của các component chính xác type. Sử dụng PropTypes, bạn có thể chắc chắn các component nhận đúng type của props. Ví dụ, ta có Person component và nhận 2 props: `name` và `age`. Sử dụng PropTypes, ta có thể chắc chắn `name` luôn luôn là `string` và `age` luôn luôn là number. Installing Pr...

Best Python Cheatsheet

Python là một trong những ngôn ngữ lập trình tốt nhất để học. Khi bạn bắt đầu, bảng tham chiếu một trang về các biến, phương pháp, và các tùy chọn định dạng có thể có khá tiện dụng.  Mong bạn thấy bài viết hữu ích ! Chúc bạn thành công !