Làm việc với các phương thức Javascript public, private và priviledged

Làm việc với các phương thức Javascript public, private và priviledged

Các phương thức liên quan đến custom objects có thể là public, private hay priviledged. Một public
method được định nghĩa cho object prototype và, vì vậy, có thể được gọi bên ngoài object. Phương thức
replaceCard() bạn đã tạo cho object prototype pokerHand là một ví dụ của public method.
Một private method là một phương thức được tạo bên trong constructor function và, vì vậy, có thể truy
cập được chỉ bên trong constructor. Trong constructor pokerCard() sau, phạm vi của hàm getPoints() bị hạnchế chỉ tới constructor và không thể được truy cập từ bên ngoài hàm:

function pokerCard(rank) {

function getPoints() {

if (rank === “ace”) return 11;
else if (“king,queen,jack”.includes(rank)) return 10;
else return parseInt(rank);

}

this.showPoints = function() {

console.log(rank + ” is worth ” + getPoints());

}

}

Một priviledged method là một phương thức cái truy cập các biến và phương thức private nhưng cái đó cũng truy cập
được đối với public. Trong mẫu code ở trên hàm showPoints() là có sẵn đối với public, nhưng nó cũng có đặc quyền vì nó dựa trên giá trị trả về bằng cách gọi hàm getPoints() private.
Private và priviledged methods có thể được tạo chỉ bên trong bản thân constructor function. Public method có thể được
tạo tại bất cứ thời điểm nào sử dụng objects prototype. Private methods là cơ bản đối với bảo vệ code khỏi bị thay đổi
không có lợi, nhưng chúng chịu phí tổn trong tài nguyên hệ thống. Vì các methods được đặt trong constructor function,
chúng được copy mỗi lần object mới được khởi tạo. Vì vậy, bạn nên luôn đặt các phương thức như vậy bên trong object prototype để rằng chỉ một bản sao được tạo và sau đó truy cập bởi mỗi object instance.

Chia sẻ