Sử dụng Access Modifiers trong TypeScript

Access modifiers có nhiệm vụ thay đổi quyền truy cập các thuộc tính và phương thức trong class. TypeScript cung cấp 3 mức truy cập là: private protected public Chú ý: TypeScript sẽ kiểm soát truy cập trong thời gian biên dịch chứ không phải trong thời gian chạy. Sử dụng private Mức truy cập

Access modifiers có nhiệm vụ thay đổi quyền truy cập các thuộc tính và phương thức trong class. TypeScript cung cấp 3 mức truy cập là:

  • private
  • protected
  • public

Chú ý: TypeScript sẽ kiểm soát truy cập trong thời gian biên dịch chứ không phải trong thời gian chạy.

Sử dụng private

Mức truy cập private chỉ giới hạn khả năng hiển thị trong cùng một class. Khi thêm thêm private đến các thuộc tính hoặc phương thức, thì bạn có thể truy cập các thuộc tính hoặc phương thức đó bên trong class đó mà thôi. Bất kỳ các truy cập thuộc tính hay phương thức có kiểu là private mà nằm bên ngoài class đó ,thì sẽ trả về lỗi ở thời điểm biên dịch code.
Ví dụ:

classPerson{private ssn:string;private firstName:string;private lastName:string;// ...}

Khi thuộc tính private được sử dụng, bạn có thể truy cập thuộc tính ssn bên trong constructor hoặc phương thức của class Person. Ví dụ:

classPerson{private ssn:string;private firstName:string;private lastName:string;constructor(ssn:string, firstName:string, lastName:string){this.ssn = ssn;this.firstName = firstName;this.lastName = lastName;}getFullName():string{return`${this.firstName}${this.lastName}`;}}

Nếu bạn truy cập thuộc tính ssn bên ngoài class:

let person =newPerson('153-07-3130','John','Doe');console.log(person.ssn);// compile error : error TS2341: Property 'ssn' is private and only accessible within class 'Person'.

Sử dụng public

Mức truy cập public phép các thuộc tính và phương thức được truy cập từ tất cả các vị trí. Nếu bạn không chỉ định bất kỳ mức truy cập nào cho các thuộc tính và phương thức, mặc định chúng sẽ có kiểu là public.
Ví dụ:

classPerson{// ...publicgetFullName():string{return`${this.firstName}${this.lastName}`;}// ...}

Nó có tác dụng tương tự như khi từ khóa public bị bỏ qua.

Sử dụng protected

Mức truy cập protected cho phép các thuộc tính và phương thức của một class được truy cập bên trong class đó và bên trong các subclass.
Khi một class(class con) kế thừa từ class khác( class cha), thì nó được gọi là subclass của class cha.
Trình biên dịch sẽ hiển thị lỗi nếu bạn truy cập thuộc tính hoặc phương thức có kiểu là protected từ bất kỳ nơi nào khác.
ví dụ:

classPerson{protected ssn:string;// other code}

Thuộc tính ssn có kiểu protected. Nó có thể được truy cập trong lớp Person và trong bất kỳ lớp nào kế thừa từ lớp Person.
Khi bạn xem xét khả năng hiển thị của các thuộc tính và phương thức, bạn nên sử dụng kiểu private.

Tóm tắt:

  • TypeScript cung cấp 3 mức truy cập đến các thuộc tính và phương thức trong class: private, protected, và public.
  • private chỉ cho phép truy cập bên trong class đó
  • protected chỉ cho phép truy cập bên trong class đó và bên trong class kế thừa(class con)
  • public cho phép truy cập ở bất kỳ vị trị nào

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ