Bắt đầu với NodeJS - Module and First-Class Functions/Function Expression (Phần 3)


Module : là một khối mã có thể tái sử dụng , sự tồn tại của khối mã này không ảnh hưởng đến khối mã khác.

Node JS cung cấp cho chúng ta khả năng để xây dựng các Module Code , các khối code có thể tái sử dụng mà không ảnh hưởng đến các đoạn code khác, để làm được điều này NODE cung cấp module ConmonJS tạo ra các tiêu chuẩn cho cách bạn cấu trúc một module và bạn phải tuân theo các tiêu chuẩn này. 

First-Class Function 

Theo mình đây là một tính chất của Function trong JS nó được hiểu như sau : mọi thứ bạn có thể làm với các kiểu dữ liệu như string , boolean , number .. thì bạn có thể làm điều đó với hàm ,  truyền nó vào hàm như một tham số , đẩy nó vào mảng , lý do được đưa rằng thật ra Function trong JS là Object có điều nó có những Property đặc biệt .
Tính chất này cung cấp những mô hình rất mạnh mẽ và từ đó nó cho phép chúng ta viết các Function Expression 

Để hiểu Function Expression là gì chúng ta cần hiểu Expression là gì đã.
Expression : là khối code dẫn đến một giá trị ví dụ như : đặt một biến = một giá trị nào đó


Xây dựng một module 

Cấu trúc thư mục như sau :


File app.js


File app :


Có một tình huống như sau :


Khi mình chạy file app thì hàm greet có chạy không ?

Câu trả lời là không


Đây là kết quả của việc thiết kế , bạn nhớ rằng code nằm trong module không chỉ được đóng gói mà nó còn được đảm bảo rằng code trong module không ảnh hưởng đến code bên ngoài 
=> không thể gọi hàm trong module ở bên ngoài module được vì code trong greet.js được bảo vệ.
=> Điều này cũng tạo thuận lợi khi chúng ta có thể tạo một module mà không cần phải quan tâm đến tên biến hay hàm đã được khai báo ở ngoài phạm vi module
Nhưng nếu bạn muốn sử dụng một hàm hay bất cứ thứ gì trong module mà bạn chỉ định ở ngoài module thì sao ? rất đơn giản bạn chỉ cần dùng phương thức exports của object module.



Nhận xét

Bài đăng phổ biến