HomeLập trìnhJavaScriptDưới đây là...

Dưới đây là một số đối tượng JavaScript thực tế có đóng gói


Khám phá JavaScript chức năng được đặt tên là một trong những sách Lập trình hàm mới hay nhất của BookAuthority!

Đóng gói có nghĩa là che giấu thông tin. Đó là về việc che giấu càng nhiều càng tốt các bộ phận bên trong của đối tượng và để lộ một giao diện chung tối thiểu.

Cách đơn giản và thanh lịch nhất để tạo đóng gói trong JavaScript là sử dụng bao đóng. Một bao đóng có thể được tạo như một hàm với trạng thái riêng tư. Khi tạo nhiều bao đóng chia sẻ cùng một trạng thái riêng tư, chúng ta tạo một đối tượng.

Tôi sẽ xây dựng một vài đối tượng có thể hữu ích trong một ứng dụng: Ngăn xếp, Hàng đợi, Bộ phát sự kiện và Bộ đếm thời gian. Tất cả sẽ được xây dựng bằng các chức năng của nhà máy.

Hãy bắt đầu.

Cây rơm

Stack là một cấu trúc dữ liệu với hai thao tác chính: push để thêm một phần tử vào bộ sưu tập và pop để xóa phần tử được thêm gần đây nhất. Nó thêm và loại bỏ các yếu tố theo nguyên tắc Last In First Out (LIFO).

Nhìn vào ví dụ tiếp theo:

let stack = Stack();
stack.push(1);
stack.push(2);
stack.push(3);
stack.pop(); //3
stack.pop(); //2

Hãy triển khai ngăn xếp bằng hàm xuất xưởng.

function Stack(){
  let list = [];
  
  function push(value){ list.push(value); }
  function pop(){ return list.pop(); }
  
  return Object.freeze({
    push,
    pop
  });
}

Đối tượng ngăn xếp có hai phương thức công khai push()pop(). Trạng thái bên trong chỉ có thể được thay đổi thông qua các phương thức này.

stack.list; //undefined

Tôi không thể sửa đổi trực tiếp trạng thái bên trong:

stack.list = 0;//Cannot add property list, object is not extensible

Bạn có thể tìm thêm trong cuốn sách Khám phá JavaScript chức năng.

Đọc thêm  Con đường vững chắc - Python hoặc JavaScript - Tư vấn nghề nghiệp

Để biết thêm về cách áp dụng các kỹ thuật lập trình chức năng trong React, hãy xem Phản ứng chức năng.

Học hỏi phản ứng chức năngtheo cách dựa trên dự án, với Kiến trúc chức năng với React và Redux.

Theo dõi trên Twitter





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status